Архивирование данных с помощью планировщика заданий Windows

Архивирование всего сервера:

%windir%\System32\wbadmin.exe start backup -backupTarget:\\сетевой путь\ -include:C:,\\?\Volume{ID раздела}\ -allCritical -systemState -noVerify -user:UserName -password:Pwd -noInheritAcl -vssCopy -quiet

Здесь UserName / Pwd - учетка пользователя для подключения к шаре.

Для Windows Server 2012 работает более короткая инструкция:

%windir%\System32\wbadmin.exe start backup -backupTarget:\\сетевой путь\ -include:C: -systemState -noVerify -user:UserName -password:Pwd -quiet

Архивирование базы данных MS SQL Server (засунуть в батник):

sqlcmd -S SERVER -U sa -P [pwd] -i C:\backup.sql
"C:\Program Files\7-Zip\7z.exe" a \\[сетевой путь]\%date%.zip C:\Backup\DB.bak -[пароль на архив]

Содержимое backup.sql:

DECLARE @pathName NVARCHAR(512)
SET @pathName = 'C:\Backup\DB.bak'
BACKUP DATABASE DB TO DISK = @pathName WITH NOFORMAT, INIT, NAME = N'DB', SKIP, NOREWIND, NOUNLOAD, STATS = 10

Удалять архивы старше 30 дней с сохранением ежемесячного архива (задание запускается раз в месяц), батник:

NET USE V: \\[сетевой путь]
copy V:\day\DB%date%.zip V:\month\DB%date%.zip
forfiles /p V:\day /m *.zip /s /d -30 /c "cmd /c del @path /q"
NET USE V: /delete /yes

Резервное копирование документов, измененных за последние 7 дней:

echo %off
setlocal
1>nul chcp 1251

set day=-7
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "data=%dd%.%mm%.%yyyy%"

forfiles /P C:\docs /M * /S /D %data% /C "cmd /q /c if @isdir==FALSE echo @path" > C:\list_zip1.txt
forfiles /p C:\Users /m *.doc /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip2.txt
forfiles /p C:\Users /m *.xls /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip3.txt
forfiles /p C:\Users /m *.pdf /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip4.txt
forfiles /p C:\Users /m *.txt /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip5.txt
forfiles /p C:\Users /m *.jpg /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip6.txt
forfiles /p C:\Users /m *.docx /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip7.txt
forfiles /p C:\Users /m *.xlsx /s /D %data% /c "cmd /q /c echo @path" > C:\list_zip8.txt

C:\Progra~1\7-Zip\7z.exe a -spf -scsWIN -ssw -xr!~$*.* -pPassword \\backup-server\backup\%date%.7z @C:\list_zip1.txt @C:\list_zip2.txt @C:\list_zip3.txt @C:\list_zip4.txt @C:\list_zip5.txt @C:\list_zip6.txt @C:\list_zip7.txt @C:\list_zip8.txt

Вышеприведенный батник ищет файлы, которые были изменены за последние 7 дней, в указанных каталогах. Создаются списки с именами этих файлов. Затем все файлы, указанные в списках, архивируются.

Добавить комментарий

Ваш адрес email не будет опубликован.

Confirm that you are not a bot - select a man with raised hand: