В качестве исполняемой приведена команда xcopy с параметрами. Она выполняет копирование вне зависимости от того, все ли пользователи вышли из базы. Никто не мешает, при желании, использовать команду arj для создания архивов.
Текст скрипта:
Dim WshShell, Line, Param
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("xcopy /E /I C:\1C\1cBase\*.* /Y C:\1C\Backup\Backup1C_"& 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:\1C\Backup\Backup1C_"+
Формат(Год(ДатаПроверки), "ЧЦ=4; ЧВН=; ЧГ=' '")+"_"+
Формат(Месяц(ДатаПроверки),"ЧЦ=2; ЧВН=; ЧГ=' '")+"_"+
Формат(День(ДатаПроверки), "ЧЦ=2; ЧВН=; ЧГ=' '")+".dt";
ФайлАрхива = Новый Файл(ИмяФайлаArg);
Если ФайлАрхива.Существует() Тогда
Попытка
УдалитьФайлы(ИмяФайлаArg);
Исключение
КонецПопытки;
КонецЕсли;
КонецЦикла;