среда, 6 марта 2013 г.

SQL backup + 7zip


Скрипт создает backup sql базы, а затем с помощью 7zip архивируем backup
Sql script
DECLARE @pathName NVARCHAR(512)
SET @pathName = 'C:\temp_backup\gismurom\bd_is.bak'
BACKUP DATABASE [bd_is] TO DISK = @pathName WITH NOFORMAT, INIT, NAME = N 'bd_is', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

Bat script
@echo off
sqlcmd.exe -S server\SQL2008 -U sa -P passkey -i bd_is.sql
set h=%TIME:~0,2%
set m=%TIME:~3,2%
set s=%TIME:~6,2%
set curtime=%h%-%m%-%s%
:: Откуда брать
set P0=C:\Temp\b
:: Куда архивировать
set P1=C:\Temp\arch
:: Backup all folders
start /wait "BackUP sql base" /min  "c:\Program Files\7-zip\7z.exe" a -mmt "%P1%\sql_%DATE%_%curtime%.zip" "%P0%\*.bak"
::Удаляем то что заархивировалось
del "%P0%\*.bak" 2>>"%P1%\log_file.%date%.txt"
::Удаляем старые бэкапы
forfiles.exe -p %P1%\ -s -m *.* -d -2 -c "cmd /c del @FILE"
exit