Как ежедневно делать резервную копию базы данных SQL сервера с помощью Jenkins? - PullRequest
0 голосов
/ 29 мая 2020

Я пытался сделать резервную копию, используя команду Windows batch. Он работает, но мне нужно делать автоматические c резервные копии с другим именем в течение 7 дней, например day1.bak, day2.bak, ...

SQLCMD -S xx.xx.xxx.xx -U test -P xxxx 
       -Q "BACKUP  DATABASE test TO DISK='C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\test4.bak'"

Есть ли плагин Jenkins для автоматического ?

1 Ответ

0 голосов
/ 29 мая 2020
set mydate=%date:~10%%date:~4,2%%date:~7,2%
set mytime=%time:~0,2%%time:~3,2%%time:~6,2%

forfiles /P 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\'  /S /M *.bak /D -7 /C "cmd /c del @PATH"  // Delete all file less than 7 days


sqlcmd -S .\sqlexpress -Q "BACKUP DATABASE [YourDataBaseName] TO  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\%mydate%_%mytime%.bak' WITH NOFORMAT, NOINIT,  NAME = N'YourDataBaseName-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10"

Примечание: имя файла теперь равно дате и времени с использованием обеих переменных mydate и mytime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...