|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Backup средствами bash для SQL |
|
CMD/BAT - Backup средствами bash для SQL
|
Старожил Сообщения: 157 |
Профиль | Отправить PM | Цитировать @Echo on Set "Log=z:\system\logfile.txt" Set "Mess=%~nx0 Start=%Date%-%Time%" Call :Minutes "%Date% %Time%" "Day1" "Min1" set now=%DATE: =0% for /f "tokens=1-3 delims=/-:., " %%a in ( "%now%" ) do ( set now=%%c%%b%%a ) SQLCMD -U user_backup -P user -Q "BACKUP DATABASE v8 TO DISK = 'z:\system\v8_bk.bak' WITH INIT, NOFORMAT, SKIP, NOUNLOAD" echo on "c:\Program Files\WinRAR\WinRAR.exe" a -hpGflfrjybrJnkbdJnrjp1420 -ilogz:\system\rar.log -m5 z:\system\v8_bk-%now%.rar @z:\system\backupsql.list rem rem @echo off echo on echo open 192.168.33.200>z:\system\ftp.txt echo r>>z:\system\ftp.txt echo NhjkmYfGfkjxrt>>z:\system\ftp.txt echo lcd z:\system>>z:\system\ftp.txt echo send "v8_bk-%now%.rar">>z:\system\ftp.txt echo quit>>z:\system\ftp.txt ftp -s:"z:\system\ftp.txt" del z:\system\v8_bk-%now%.rar del z:\system\v8_bk.bak del z:\system\ftp.txt Call :Minutes "%Date% %Time%" "Day2" "Min2" Set /A DOld=(%Day2%-%Day1%)*1440+%Min2%-%Min1% >>"%Log%" Echo %Mess% End=%Date%-%Time% Duration=%DOld% min GoTo :Eof :Minutes SETLOCAL FOR /F "tokens=1,2,3,4,5 delims=.:,/ " %%i IN ("%~1") DO Set "Day=0%%i" &Set "Month=0%%j" &Set "Year=%%k" &Set "Hour=0%%l" &Set "Min=0%%m" Set /A Day=1%Day:~-2%-100 Set /A Month=1%Month:~-2%-100 Call :JulianDay %Day% %Month% %Year% "Day" ENDLOCAL &(Set /A %~2=%Day% &Set /A %~3=1%Hour:~-2%*60+1%Min:~-2%-6100) GoTo :Eof :JulianDay Set /A %~4=(1461*(%3+4800+(%2-14)/12))/4+(367*(%2-2-12*((%2-14)/12)))/12-(3*((%3+4900+(%2-14)/12)/100))/4+%1-32075 Exit /B Один только минус. Он создаёт полную базу и она весьма не маленькая. По этому было решено делать инкрементную версию ежедневно, а раз в неделю полную. SQLCMD -U user_backup -P user -Q "BACKUP DATABASE v8 TO DISK = 'z:\system\v8_bk.bak' WITH INIT, NOFORMAT, SKIP, NOUNLOAD" Если заменить на SQLCMD -U user_backup -P user -Q "BACKUP DATABASE v8 TO DISK = 'z:\system\v8_bk.bak' WITH INIT, DIFFERENTIAL, NOFORMAT, SKIP, NOUNLOAD" Со спокойной душой создал два батника, запихнул их в task scheduler. Один раз в неделю, второй ежедневно запускается. Проверил - всё работает. Спустя два дня проверил бекапы, второй скрипт делает полный бекап, почему-то, хотя сразу отрабатывал нормально. Подскажите,что не так или как можно подправить скрипт. p.s. Сейчас, почему-то только полные версии бекапа делаются обоими скриптами((( но работало ведь! |
|
Отправлено: 15:29, 19-09-2018 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать s.i.p.a,
для начала поясните зачем подобные кардибалеты: Set /A DOld=(%Day2%-%Day1%)*1440+%Min2%-%Min1% и остальное, если вы все равно дату съема доверили планировщику, то кроме запуска архивирования на тот день ничего быть не должно, так? |
Отправлено: 23:25, 19-09-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:02, 20-09-2018 | #3 |
Старожил Сообщения: 157
|
Профиль | Отправить PM | Цитировать Цитата alpap:
Set "Log=z:\system\logfile.txt" Set "Mess=%~nx0 Start=%Date%-%Time%" Call :Minutes "%Date% %Time%" "Day1" "Min1" // Остальной код Call :Minutes "%Date% %Time%" "Day2" "Min2" Set /A DOld=(%Day2%-%Day1%)*1440+%Min2%-%Min1% >>"%Log%" Echo %Mess% End=%Date%-%Time% Duration=%DOld% min GoTo :Eof :Minutes SETLOCAL FOR /F "tokens=1,2,3,4,5 delims=.:,/ " %%i IN ("%~1") DO Set "Day=0%%i" &Set "Month=0%%j" &Set "Year=%%k" &Set "Hour=0%%l" &Set "Min=0%%m" Set /A Day=1%Day:~-2%-100 Set /A Month=1%Month:~-2%-100 Call :JulianDay %Day% %Month% %Year% "Day" ENDLOCAL &(Set /A %~2=%Day% &Set /A %~3=1%Hour:~-2%*60+1%Min:~-2%-6100) GoTo :Eof :JulianDay Set /A %~4=(1461*(%3+4800+(%2-14)/12))/4+(367*(%2-2-12*((%2-14)/12)))/12-(3*((%3+4900+(%2-14)/12)/100))/4+%1-32075 Цитата Busla:
Цитата Busla:
|
|||
Отправлено: 11:08, 20-09-2018 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата s.i.p.a:
|
||
Отправлено: 12:20, 20-09-2018 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Восстановление - Резервное копирование баз 1С средствами Acronis Backup Advanced 11.5 | Tyamich | Программное обеспечение Windows | 0 | 16-09-2016 16:56 | |
Прочее - FreeNAS + 1C + SQL server backup | pashos_nix | Общий по FreeBSD | 4 | 10-06-2014 13:24 | |
MSFT SQL Server - SQL Backup-создание ежедневно нового архива | Anatoliy2004 | Программирование и базы данных | 8 | 29-09-2011 13:29 | |
Правильный Backup 1c7 sql | bombording | Хочу все знать | 11 | 28-07-2011 03:10 | |
MSFT SQL Server - Backup данных MS SQL | f0kker | Программирование и базы данных | 14 | 30-08-2007 11:15 |
|