Простейший архиватор

Простейший скрипт для архивирования баз данных
Простейший скрипт для архивирования баз данных.

В качестве исполняемой приведена команда xcopy с параметрами. Она выполняет копирование вне зависимости от того, все ли пользователи вышли из базы. Никто не мешает, при желании, использовать команду arj для создания архивов.

Текст скрипта:

Dim WshShell, Line, Param

Set WshShell = WScript.CreateObject(«WScript.Shell»)

WshShell.Run(«xcopy /E /I C:1C1cBase*.* /Y C:1CBackupBackup1C_»& Cstr(Year(Date)) & «_» & Right(«0″+Cstr(Month(Date)),2) & «_» &  Right(«0″+Cstr(Day(Date)),2))

Текст необходимо сохранить в файле с расширением vbs и подключить в планировщик. В результате выполнения скрипта в папке с архивом создаются каталоги с наименованием (в данном случае) Backup1C_2014_08_04… и т.д., по датам

В дальнейшем для чистки папки архивов используется следующий алгоритм: в течение месяца копии хранятся ежедневно, по истечении месяца оставляются только копии на 01 и 15 числа месяца. Для этого выполняется простейшая процедура в модуле 1С при начале работы системы.

// Считаем, что архивация началась 08.04.2014. Принцип сохранения архивов: первый месяц
// от текущей даты архивы хранятся ежедневно, потом — 01 и 15 числа каждого месяца

ОкончаниеПроверки = ДобавитьМесяц(ТекущаяДата(),-1);
ДатаПроверки = Дата(2014,04,08);
Пока ДатаПроверки<ОкончаниеПроверки Цикл
     
     ДатаПроверки = ДатаПроверки + 86400; 
     Если День(ДатаПроверки)=01 ИЛИ День(ДатаПроверки)=15 Тогда
         Продолжить;
     КонецЕсли;
     ИмяФайла = «C:1CBackupBackup1C_»+
                        Формат(Год(ДатаПроверки),  «ЧЦ=4; ЧВН=; ЧГ=’ ‘»)+»_»+
                        Формат(Месяц(ДатаПроверки),»ЧЦ=2; ЧВН=; ЧГ=’ ‘»)+»_»+
                        Формат(День(ДатаПроверки), «ЧЦ=2; ЧВН=; ЧГ=’ ‘»)+».dt»;

     ФайлАрхива = Новый Файл(ИмяФайлаArg);
     Если ФайлАрхива.Существует() Тогда
             Попытка
                   УдалитьФайлы(ИмяФайлаArg);
             Исключение
             КонецПопытки;
     КонецЕсли;

КонецЦикла;

1 Comment

  1. FreeArcher

    А почему старые архивы чистятся из 1С? Ещё и изменения вносить надо. не проще ли ещё один скрипт сделать?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *