====== Архивирование измененных файлов ====== Архивирование происходит в winxp. Целевой каталог - d:\promauto-src. Для выполнения запустить: D:\makebackup.bat Дата последнего запуска сохраняется в D:\promauto-src\makebackup.dat. Перед началом архивации скрипт считывает эту дату, сохраненную предыдущим запуском скрипта, и создает архив с файлами, измененными не позднее этой даты. Архив помещается в D:\cache\. \\ \\ makebackup.bat @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%