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

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

    Опрос

    Windows Mobile
    Symbian
    Android
    iPhone
    Linux
    другая
    не знаю
    у меня обычный телефон



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

    Архив новостей
    Март 2022 (1)
    Декабрь 2021 (1)
    Август 2021 (1)
    Июль 2021 (3)
    Февраль 2021 (3)
    Январь 2021 (1)

    Информация
    Скрипт для бэкапа папки в 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качиваний: 293)


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

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

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

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


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

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



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


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


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

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