Один из случаев в практике. В связи с активизацией троянов-шифровальщиков у клиента появилась необходимость создания архивов определенных папок, баз 1С (до версии 8.3) и некоторых папок с ежедневной работой сотрудников.
Базы 1С и рабочие папки сотрудников, находятся на отдельном компьютере — сервере.
Базы 1С, бухгалтера периодически архивировали сами. Сотрудники, после дважды запущенных шифровальщиков, периодически скидывали свои документы на флешки, такой вариант бекапа был явно неудобным.
Существует множество программ для автоматического создания бекапов, разной степени стоимости и разной степени надежности, и удобства.
Так как я не сторонник решать деньгами задачи, для которых есть бесплатные и надежные инструменты, организуем создание архивов с помощью отличного и бесплатного архиватора 7zip и планировщика Windows.
Задача: Настроить автоматическое, ежедневное создание архивов определенной папки. Архивы старше 7 дней, должны удаляться.
Архивировать будем папку База 1С(для примера), находящуюся на диске С.
А бэкапы(архивы) будем помещать на диск D данного компьютера, в папку Backup
Для неподготовленного человека при первом взгляде, это может показаться сложным, но попробовав выполнить, вы поймете, что ничего сложного тут нет. 🙂
Разделим задачу на этапы:
- Скачиваем и устанавливаем 7zip архиватор
- Создаем bat файл, создающий архив и указываем параметры архивирования
- Создаем bat файл, удаляющий файлы с датой более 7 дней
- Создаем задачу в Windows для запуска bat файла
Скачиваем и устанавливаем 7zip архиватор
Скачать архиватор 7zip можно с официальной страницы разработчика. Кстати 7zip оказывается самый максимально сжимающий архиватор, можете убедиться сами.
Скачиваем нажатием на кнопку Download, в зависимости от разрядности своей системы. Для 32х разрядных систем, только 32-bit x86, для 64 разрядной Windows скачиваем любую.
Скачав, запускаем и устанавливаем архиватор 7zip.
Смотрим путь до папки в которую установился архиватор.
Создаем bat файл, создающий архив и указываем параметры архивирования
Скачать готовый bat файл 7zip можно нажав на эту ссылку.
Создаем пустой текстовый файл, меняем ему расширение с txt на bat, вставляем туда следующий текст, изменив значения параметров ARC, TARGET, DESTINATION на свои.
chcp 1251 set ARC="c:\Program Files\7-Zip\7zG.exe" set TARGET="c:\База 1С"\* set DESTINATION="d:\Backup\Архив_"%DATE%.7z %ARC% a -mx=9 -ssw %DESTINATION% %TARGET%\*
chcp 1251 — переключает кодировку файла на используемую в Windows. Если не указать этот параметр, то будет выходить ошибка, если ваши папки имеют в названии русские символы;
set ARC=»c:\Program Files\7-Zip\7zG.exe» — задает переменной ARC путь до установленной программы 7zip.
- Для 64х разрядной версии программы 7zip (на Windows x64) путь равен C:\Program Files\7-Zip\7zG.exe
- Для 32х разрядной версии программы (на Windows x64)путь будет равен C:\Program Files (x86)\7-Zip\7zG.exe
set TARGET=»c:\База 1С»\* — задает переменной TARGET путь до папки, которую нужно сохранить/архивировать
- c:\База 1С — путь до папки содержимое которой нужно сохранять, изменить на путь до нужной Вам папки
- \* — аргумент указывающий архиватору, на архивирование всех объектов содержащихся в папке
set DESTINATION=»d:\Backup\архив_»%DATE%.7z — задает переменной DESTINATION путь до создаваемого архива(бекапа) и его название — Архив_Текущая_Дата_.7z
- d:\Backup\ — путь до папки, куда будете помещать архив, можете изменить на путь к другой папке
- Архив_ — первая часть названия файла, можете изменить на свою
- %DATE% — служебная команда прописывающая текущую дату, менять параметр не нужно
- .7z — принудительно указываемое расширение файла, менять параметр не нужно
%ARC% a -mx=9 -ssw %DESTINATION% %TARGET% — команда выполнения архивации
- a — ключ указывающий архиватору начать архивацию
- -m — ключ указывающий архиватору использовать метод сжатия LZMA2
- x=9 — ключ указывающий архиватору использовать максимально сжатие (9). Цифру можно изменить, это увеличит размер архива, но сократит нагрузку на процессор и время процесса архивации. Значения могут быть только 0, 1, 3, 5, 7, 9 . Причем 0 обозначает несжатый файл. Обратите внимание, это составной ключ, записываемый слитно, т.е. -mx9
- -ssw — ключ указывающий архиватору на однозначное архивирование, игнорируя использование файла. Например если сотрудник уходя не выключил ПК с программой в которой открыт один из файлов для бэкапа
Создаем bat файл, удаляющий файлы с датой более 7 дней
Скачать готовый bat файл 7Del можно нажав на эту ссылку.
Создаем еще один пустой текстовый файл и меняем ему расширение с txt на bat. Вставляем в него следующий текст:
set DESTINATION="d:\Backup" forfiles /P %DESTINATION% /D -7 /C "cmd /c del @PATH /q"
set DESTINATION=»d:\Backup» — задает переменной DESTINATION путь до создаваемого папки с архивами(бекапами)
- d:\Backup — путь до папки, куда будете помещать архив, можете изменить на путь к другой папке
forfiles /P %DESTINATION% /D -7 /C «cmd /c del @PATH /q»
- forfiles — команда выбора и исполнения другой команды над файлом или группой файлов (на Windows XP эта команда по-умолчанию отсутствует)
- /P — ключ /P указывает на папку для поиска файлов
- /D -7 — ключ указывает количество дней до текущей даты, для файлов которые будут выбраны, значение равно 7, установить число дней равным семь (можете изменить)
- /C «cmd /c del @PATH /q» — данный ключ запускает командную строку Windows c командой (в нашем случае DEL) применительно к пути, заданным в ключе /P
Создаем задачу в Windows для запуска bat файла
Перемещаем два созданных bat файла в любую папку. Я просто переместил два файла на диск D (не перемещайте эти файлы в папку Backup, иначе при автоматическом исполнении файла удаляющего архивы, он удалит файл создания резервных копий).
Щелкаем по Пуск — Все приложения — Средства администрирования — Планировщик заданий
Раскрываем список Планировщика заданий. Выделяем и щелкаем правой клавишей мыши по Библиотека планировщика заданий, в открывшемся меню выбираем Создать папку, называем её Мои задачи и нажимаем ОК. (В последствии вы можете создать не одну задачу и чтоб не путать с системными, создаем для них сразу отдельную папку)
Щелкаем по созданной папке Мои задачи правой клавишей мыши, выбираем пункт Создать простую задачу.
Имя задачи напишем понятное для нас — Создание архива резервных копий. Графу Описание заполнять не обязательно, но если заполнить, будет легче разбираться в последствии, особенно если вам понравится автоматизировать работу вашего компьютера. Нажимаем кнопку Далее.
В следующем окне, выставляем Тригер задачи — ежедневно, по условиям нашего задания, нажимаем Далее.
В появившемся окне Ежедневно, выставляем с текущей даты, время я выставляю в 20-00, так как в это время никого уже не должно быть в офисе и резервное архивирование никому не помешает. Повторять каждые — ставим 1 день, т.е. повторять каждый день.
В окне Действие выбираем пункт Запустить программу и кнопкой Далее переходим к следующему окну.
В Запуск программы, с помощью кнопки Обзор указываем путь до bat файла 7zip. Щелкаем по Далее (файл создания архива 7zip и файл удаления старых архивов 7Del я поместил в корень диска D).
В окне Сводка, проверяем правильность параметров создаваемой задачи. Если все верно, подтверждаем создание задачи кнопкой Готово.
Снова щелкаем по папке Мои задачи правой клавишей мыши и создаем вторую задачу, название которой будет Удаление архивов старше 7 дней. Запускать будем также — ежедневно, время исполнения поставим 21-00, оставив 1 час работы компьютера на выполнения задания по архивированию баз, а в Путь до программы укажем расположения второго bat файла 7Del.
В итоге у нас должно быть такое окно со списком из двух созданных задач. Можем проверить работу первой задачи вручную, для этого щелкаем правой клавишей мыши на задаче Создание архива резервных копий, выбираем Выполнить.
В папке для резервной копии видим появление архива. В зависимости от размера данных предназначенных для резервирования, создание архива может занять продолжительное время.
На этом создание задачи автоматического и полностью бесплатного решения для резервного копирования баз 1С успешно завершено.
В данном уроке, были самые базовые знания по автоматизации работы на ПК, но если у вас появилось желание облегчать себе работу, вы теперь имеете представление с чего можно начинать, без использования сторонних программ 🙂
Видео урок: