Потребовался скрипт который будет архивировать определенную папку в rar-архив каждые десять минут. Запуск скрипта планируется выполнять с помощью стороннего ПО (например - xStarter). Перед тем как создать новый архив скрипт должен проверить наличие старых архивов и удалить файлы старше N дней. Естественно скрип должен записывать свои действия в лог-файл.
Вот что у нас получилось:
'---------------------------------------------------------------------- ' ' Copyright (c) All rights reserved. ' ' ' AUTHOR: tudimon.com ' DATE: 17.04.2012 ' NAME: backupFolder2rar_v1.vbs ' ' COMMENT: ' ' Каждые десять минут нужно упаковывать папку в Rar-архив. ' Архивы старше N суток нужно удалять. ' ' Запуск скрипта каждые десять минут планируется с помощью стороннего ПО. ' ' Rar.exe должен лежать в той же папке что и скрипт. ' '----------------------------------------------------------------------
' Задаваемые параметры для работы скипта
DataFolder = "C:\1\data" ' Папка с файлами для архиврования (без слэша на конце) BackupFolder = "C:\backup" ' Папка для архивных копий (без слэша на конце)
N = 2 ' Кол-во суток свыше которых файл считается устаревшим
LogFilePath = "c:\1\log_backup.log" ' лог-файл LogTXT = "" ' переменная для записи в лог
FlagDel = 0 ' Флаг что хотя бы один файл был удален
' Проверяем даты создания файлов в папке с бэкапами Set folder = objFSO.GetFolder(BackupFolder) Set fc = folder.Files For Each f1 in fc If f1.DateLastModified < olddate Then LogTXT = LogTXT & vbNewLine & "Delete file " & f1.name & " (DateLastModified = " & f1.DateLastModified & ")" objFSO.deletefile(f1) FlagDel = 1 End If Next
' Если ни один файл не был удален запишем это в лог If FlagDel = 0 Then LogTXT = LogTXT & vbNewLine & "There are no files to delete!" End If
Если необходимо наблюдать прогресс упаковки, то вместо rar.exe нужно использовать winrar.exe - будет видно окошко с процентом выполнения архивирования, все ключи консольной версии rar работают и с обычной.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.