Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
dev:backups:backup_archive [2011/12/22 13:36] jamis7005 |
dev:backups:backup_archive [2011/12/22 13:38] (текущий) jamis7005 |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
Дата последнего запуска сохраняется в D:\promauto-src\makebackup.dat. Перед началом архивации скрипт считывает эту дату, сохраненную предыдущим запуском скрипта, и создает архив с файлами, измененными не позднее этой даты. Архив помещается в D:\cache\. \\ | Дата последнего запуска сохраняется в D:\promauto-src\makebackup.dat. Перед началом архивации скрипт считывает эту дату, сохраненную предыдущим запуском скрипта, и создает архив с файлами, измененными не позднее этой даты. Архив помещается в D:\cache\. \\ | ||
\\ | \\ | ||
+ | makebackup.bat | ||
+ | <code bash> | ||
+ | @echo off | ||
+ | |||
+ | set dir_local_cahce=d:\cache | ||
+ | rem set dir_external_cahce=h:\cache | ||
+ | |||
+ | rem Шаблон игнорирования | ||
+ | set ignore_files=*.~* *.dcu *.dsk *.ddp Thumbs.db visscada.ini | ||
+ | |||
+ | cd d:\ | ||
+ | |||
+ | rem Получение дат и времени | ||
+ | set dtend=%date:~6,4%%date:~3,2%%date:~0,2% | ||
+ | |||
+ | set stime=%time:~0,2%%time:~3,2% | ||
+ | if "%time:~0,1%"==" " set stime=0%time:~1,1%%time:~3,2% | ||
+ | for /f "eol=# delims== tokens=1,2" %%i in (promauto-src\makebackup.dat) do ( | ||
+ | set %%i=%%j | ||
+ | ) | ||
+ | |||
+ | |||
+ | echo Working from %dt% to %dtend% | ||
+ | set arcname=promauto-src_%dt%-%dtend%_%stime%_hp2 | ||
+ | echo dt=%dtend%>promauto-src\makebackup.dat | ||
+ | |||
+ | rem Создание архива без сжатия с отбором файлов по дате | ||
+ | rar a -m0 -ta%dt% %arcname%.rar promauto-src | ||
+ | rar d %arcname% %ignore_files% | ||
+ | |||
+ | rem Распаковка во временную папку | ||
+ | md %arcname%.temp | ||
+ | move %arcname%.rar %arcname%.temp | ||
+ | cd %arcname%.temp | ||
+ | rar x %arcname%.rar | ||
+ | del /Q /S %arcname%.rar | ||
+ | |||
+ | rem Удаление ненужных папок | ||
+ | c:\cygwin\bin\find -depth -type d -iname ".hg" -exec rm -v -r {} ; | ||
+ | rem c:\cygwin\bin\find -depth -type d -iname "junky_dir" -exec rm -v -r {} ; | ||
+ | |||
+ | rem Удаление пустых папок | ||
+ | c:\cygwin\bin\find -depth -type d -empty -exec rmdir --ignore-fail-on-non-empty {} ; | ||
+ | |||
+ | rem Окончательное максимальное сжатие | ||
+ | rar a -m5 %arcname%.rar promauto-src | ||
+ | |||
+ | rem Удаление времменого каталога | ||
+ | move %arcname%.rar .. | ||
+ | cd .. | ||
+ | rmdir /S /Q %arcname%.temp | ||
+ | |||
+ | rem Копирование архива в места хранения | ||
+ | rem xcopy %arcname%.rar %dir_external_cahce% | ||
+ | md d:\cache | ||
+ | move %arcname%.rar %dir_local_cahce% | ||
+ | |||
+ | |||
+ | |||
+ | rem echo Putting archive to the ftp | ||
+ | rem ncftpput -u prom-auto prom-auto.jino.ru domains/prom-auto.ru/download/CACHE %arcname% | ||
+ | |||
+ | </code> | ||