Devops's Blog

Делаем backup папок с помощью 7z



backup.cmd

					    
@echo off
set /a y=%date:~6,4%&set /a m=1%date:~3,2%-100&set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1


set DirBackUp=D:\backup\
set BackUpDir=D:\1CBAS\*
set BackUpName=BackUp_1c_%i%.7z
set SevenZip=C:\"Program Files"\7-Zip\7z.exe a -ssw
%SevenZip% "%DirBackUp%\%BackUpName%" %BackUpDir% > D:\backup\1c_log
copy /y "%DirBackUp%\%BackUpName%" "e:\"
					    
				    

Поесню немного:

  • D:\backup\ - папка для хранения бекапа
  • D:\1CBAS\ - что бекапим
  • 7z.exe a -ssw - теневое сжатие
  • 1c_log - наши логи
  • %i% - переменная отвечает за день недели, храним только недельную копию
  • e:\ - дополнительно копируем на флешку