Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
|
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> | ||