Сделать стартовойДобавить в закладки  
Главная страничка Главная страничка
В номере:

Выходит с 17 июля 2008 г. цена договорная

Опрос

конечно, он настанет в 2012 г.
да, но не в 2012 г.
нет, это фантастика
а что такое конец света
а мне пофиг - я буду уже мертв



Календарь
«    Апрель 2012    »
ПнВтСрЧтПтСбВс
 1
2345678
9101112131415
16171819202122
23242526272829
30 

Архив новостей
Май 2019 (2)
Март 2019 (1)
Январь 2019 (1)
Декабрь 2018 (1)
Ноябрь 2018 (3)
Октябрь 2018 (2)

Информация
Скрипт для бэкапа папки в rar-архив и удаления архивов старше N дней
OS, мобильные OS » Windows » WSH скрипты
автор: dimon, опубликовано: 17 апреля 2012

Потребовался скрипт который будет архивировать определенную папку в 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                                ' Флаг что хотя бы один файл был удален

'----------------------------------------------------------------------

LogTXT = LogTXT & vbNewLine & "******************** " & Now & " ********************"

' **** Удаляем "устаревшие" файлы

Set objFSO = CreateObject("Scripting.FileSystemObject")

' Вычислим дату
olddate = DateAdd("d", -N, date)
LogTXT = LogTXT & vbNewLine & "Date limit " & olddate

' Проверяем даты создания файлов в папке с бэкапами
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

' **** Бэкапим папку

' сформируем штамп со временем бэкапа
DateTimeStamp = Year(now) & Right("00" & CStr(Month(Now)), 2) & Right("00" & CStr(Day(Now)), 2) & "_"  & Right("00" & CStr(Hour(Now)), 2) & "-"  & Right("00" & CStr(Minute(Now)), 2) & "-"  & Right("00" & CStr(Second(Now)), 2)

' Сформируем команду для RAR-а
cmd = "rar.exe a -r -w" & BackupFolder &"\tmp "& BackupFolder & "\backup_" & DateTimeStamp &".rar " & DataFolder

' выполним
Set objShell = CreateObject("WScript.Shell")
Set objScriptExec = objShell.Exec(cmd)

LogTXT = LogTXT & vbNewLine & "Create file " & "backup_" & DateTimeStamp &".rar"


' **** Пишем лог
Set FSO = CreateObject("Scripting.FileSystemObject")
Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True)
LogTXT = LogTXT & vbNewLine & "*************************************************************"
LogFile.WriteLine LogTXT
LogFile.Close

Set FSO = Nothing
Set objFSO = Nothing

WScript.Quit 0


backupfolder2rar_v1.rar [145,45 Kb] (cкачиваний: 261)


Если необходимо наблюдать прогресс упаковки, то вместо rar.exe нужно использовать winrar.exe - будет видно окошко с процентом выполнения архивирования, все ключи консольной версии rar работают и с обычной.

 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.

Другие новости по теме:

  • Рекурсивный список подкатологов и файлов в текстовый лог
  • Скрипт через psexec.exe монтирует на удаленном компьютере том TrueCrypt, ко ...
  • Скрипт копирования файлов с установленным архивным битом в резервный катало ...
  • Список файлов в каталоге в текстовый файл
  • Список подкатологов в текстовый файл


  • Комментарии:

    Оставить комментарий



     
    Информация
     
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


    Поиск по сайту:


    Облако тегов
    Android, Arduino, backup, CentOS, cmd, css, div, DLE, DLE хаки, domoticz, dzvents, LCD, Linux, log, LUA, Monster, ogf3, RDP, Template, VBS, w2k8, windows, WSH, бумага, бумажный самолетик, верстка, иструкция, Карты, кино, Навигация, оригами, программа, рецензия, рецепт, скрипт, фигуры, шаблон, Яндекс, яндекс-карты

    Показать все теги
    Реклама
    раскрутка сайта бесплатно
    Главная страница | Регистрация | Добавить новость | Новое на сайте | Статистика | Поддержка | Правила ресурса Copyright © 2005-2018 by dimon - all right reserved!
    Тираж:       Счетчик тИЦ и PR     экземпляров.   Дизайн, верстка by dimon