Falcon99
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем спасибо за советы. Чтобы закрыть тему решил кинуть окончательный вариант скрипта по копированию бэкапов и сравнением по контрольным суммам: Код: @echo off set path_sourse=c:\temp\111 set path_dest=\\server1\rezerv set path_month=07 set path_days=03-07 set files_mask=Backup_*.dbk :: Проверяем наличие целевого каталога if exist %path_dest% ( :: Целевой каталог существует echo Целевой каталог существует ) else ( :: Целевой каталог не существует echo Целевой каталог не существует goto end ) :: Проверяем наличие месячного каталога if exist %path_dest%\%path_month% ( :: Месячный каталог существует echo Месячный каталог существует ) else ( :: Месячный каталог не существует echo Месячный каталог не существует, создаем mkdir %path_dest%\%path_month% ) :: Проверяем наличие конечного каталога if exist %path_dest%\%path_month%\%path_days% ( :: Конечный каталог существует echo Конечный каталог существует ) else ( :: Конечный каталог не существует echo Конечный каталог не существует, создаем mkdir %path_dest%\%path_month%\%path_days% ) :: Проверяем наличие файлов в каталоге if exist %path_dest%\%path_month%\%path_days%\%files_mask% ( :: Файлы уже есть, выходим echo Файлы уже есть goto end ) else ( :: Файлы отсутствуют, проверяем наличие файлов для копирования if not exist %path_sourse%\%files_mask% ( :: Файлов для копирования нет, выходим echo Файлов для копирования нет goto end ) else ( echo Файлы есть, папка куда копировать есть, поэтому создаем файл с контрольными суммами "C:\Program Files\7-Zip\7z.exe" h "%path_sourse%\%files_mask%" > "%path_sourse%\hash.crc32" echo Копируем файлы и файл с контрольными суммами robocopy %path_sourse% %path_dest%\%path_month%\%path_days% %files_mask% /z echo Запускаем проверку файлов по контрольным суммами "C:\Program Files\7-Zip\7z.exe" h "%path_dest%\%path_month%\%path_days%\%files_mask%" > "%path_dest%\%path_month%\%path_days%\hash.crc32" echo Сравниваем файлы контрольных сумм fc "%path_sourse%\hash.crc32" "%path_dest%\%path_month%\%path_days%\hash.crc32" ) ) :end pause | Осталось только в конце добавить, для проверки работы fc, конструкцию типа if errorlevel и все. P.s. Еще раз спасибо за советы, честно говоря заморочка с контрольными суммами делалась чтобы не дергались мнительные программеры использующие MS SQL, иначе с этими бэкапами они бы мне все плешь выели бы. "А вдруг некорректно скопировалось и он "побился". А нам этот бэкап потребуется и мы не сможем из него восстановиться. " А теперь демонстрирую экран с идентичными crc32 кодами и они отваливают. P.p.s. Кстати, знаю что файла с контрольными суммами расчитанными по md5 расширение должно быть также ".md5" , а для crc32? И вообще названия для файлов с контрольными суммами стандартизованы? А то как не нашел этой информации. | Всего записей: 607 | Зарегистр. 12-10-2005 | Отправлено: 11:58 15-07-2017 | Исправлено: Falcon99, 12:09 15-07-2017 |
|