![]() |
Архивация файлов с последующим удалением
Ежедневно прикладное ПО создает в каталогах
\\servername1\FileRes1\Dir1\IN \\servername1\FileRes1\Dir1\OUT папки и пишет файлы в них, имена папок формируются по следующему принципу Mxx_Dxx, где М-месяц, D-день. Т.е.набор папок в Dir1\IN(OUT) выглядит так: февраль ------- M02_D01 M02_D02 ....... M02_D28 март ---- M03_D01 M03_D02 ....... M03_D31 Необходимо с использованием VBS скрипта, прописанного в планировщике Windows, архивировать RAR'ом созданные за день файлы в папках IN(OUT) на другой сервер по пути \\servername2\FileRes2\BackupDir1\Год\AchFileNameDDMMYY.RAR, где МM-месяц, DD-день, YY-год т.е. из папок IN(OUT) сливать в один архив, но пути внутри архива сохранять (при распаковке развернется архив в исходные каталоги в том виде в котором они писались отдельно в IN и OUT). Должна быть проверка, что архивирование прошло успешно (может сеть пропадала, свет выключили и т.д.), затем файлы можно удалить. Например, наступило 20.03.2011, появятся две директории, начнут в течении дня писаться файлы \\servername1\FileRes1\Dir1\IN\M03_D20\*.* \\servername1\FileRes1\Dir1\OUT\M03_D20\*.* прошел день, ночью запустился планировщик, файлы запаковались в архив \\servername2\FileRes2\BackupDir1\Год\AchFileName200311.RAR наступит 21.03.2011, начнут в течении дня писаться файлы \\servername1\FileRes1\Dir1\IN\M03_D21\*.* \\servername1\FileRes1\Dir1\OUT\M03_D21\*.* пройдет день, ночью запустился планировщик, файлы запаковались в архив \\servername2\FileRes2\BackupDir1\Год\AchFileName210311.RAR Скрипт будет запускаться с сервера №3 - servername3. Заранее благодарю всех, кто поучаствует в теме. |
Если не принципиально, батник или vbs, то вот решение в батнике
Код:
@Echo Off За удаление файлов отвечает ключ rar -df, он срабатывает при успешном архивировании. Думаю, на vbs это будет несколько длинее. Будет время и если никто не напишет, изваяю. |
megaloman, а как написать скрипт, чтобы бекап был на три дня? При наступлении четвёртого дня, бекап 1 дня перезаписывался, пятого дня - бекап второго перезаписывался и т.д.
|
Цитата:
Ещё раз спасибо, что уделили время. |
sov44,
Цитата:
Делаете 3 директории Dir1 Dir2 Dir3 Ежедневные бэкапы делаем в Dir1 Но перед бэкапом, если в Dir2 есть бэкап, убиваем бэкап в Dir3, move бэкап из Dir2 в Dir3 move бэкап из Dir1 в Dir2 Делаем бэкап в Dir1 То есть получаем, что в Dir1 самый свежий бэкап, а в Dir3 самый старый. Romano,Обещанный скрипт VBS Код:
Rar = """C:\Program Files\Winrar\Winrar.exe"" a -r -df " |
Цитата:
Опробовал батник пока, вроде работает). Он лучше, чем имеющийся у меня. У меня такие бэкапы делаются по нескольким папкам, поэтому попробую на одних папках Ваш батник, на других скрипт VBS. Когда сейчас резервирование не проходит, в планировщике код завершения стоит 0х1, а что именно произошло не ясно, ведь иногда там бывает и 0х0, когда все успешно архивируется. |
Время: 13:04. |
Время: 13:04.
© OSzone.net 2001-