Один из случаев в практике. В связи с активизацией троянов-шифровальщиков у клиента появилась необходимость создания архивов определенных папок, баз 1С и некоторых папок с ежедневной работой сотрудников.

Базы 1С и рабочие папки сотрудников, находятся на отдельном компьютере — сервере.

Базы 1С, бухгалтера периодически архивировали сами. Сотрудники, после дважды запущенных шифровальщиков, периодически скидывали свои документы на  флешки, такой вариант бекапа был явно неудобным.

Существует множество программ для автоматического создания бекапов, разной степени стоимости и разной степени надежности, и удобства.

Так как я не сторонник решать деньгами задачи, для которых есть бесплатные и надежные инструменты, организуем создание архивов с помощью отличного и бесплатного архиватора 7zip и планировщика Windows.

Задача: Настроить автоматическое, ежедневное создание архивов определенной папки. Архивы старше 7 дней, должны удаляться.

Архивировать будем папку База 1С(для примера), находящуюся на диске С.

А бэкапы(архивы) будем помещать на диск D данного компьютера, в папку Backup

Для неподготовленного человека при первом взгляде, это может показаться сложным, но попробовав выполнить, вы поймете, что ничего сложного тут нет. 🙂

 

Разделим задачу на этапы:

  1. Скачиваем и устанавливаем 7zip архиватор
  2. Создаем bat файл, создающий архив и указываем параметры архивирования
  3. Создаем bat файл, удаляющий файлы с датой более 7 дней
  4. Создаем задачу в Windows для запуска bat файла

Скачиваем и устанавливаем 7zip архиватор

Скачать архиватор 7zip можно с официальной страницы разработчика. Кстати 7zip оказывается самый максимально сжимающий архиватор, можете убедиться сами.

Скачиваем нажатием на кнопку Download, в зависимости от разрядности своей системы. Для 32х разрядных систем, только 32-bit x86, для 64 разрядной Windows скачиваем любую.

7zip Создаем резервную копию файлов бесплатно - Mhelp.kz

Скачав, запускаем и устанавливаем архиватор 7zip.

Смотрим путь до папки в которую установился архиватор.

7zip Создаем резервную копию файлов - Mhelp.kz

 


Создаем 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, иначе при автоматическом исполнении файла удаляющего архивы, он удалит файл создания резервных копий).

Щелкаем по Пуск Все приложения Средства администрирования Планировщик заданийСоздаем резервную копию файлов - Mhelp.kz

Раскрываем список Планировщика заданий. Выделяем и щелкаем правой клавишей мыши по  Библиотека планировщика заданий, в открывшемся меню выбираем Создать папку, называем её Мои задачи и нажимаем ОК. (В последствии вы можете создать не одну задачу и чтоб не путать с системными, создаем для них сразу отдельную папку) Бесплатная программа для резервных копий - Mhelp.kz

Щелкаем по созданной папке Мои задачи правой клавишей мыши, выбираем пункт Создать простую задачу.Как сделать резервное копирование - Mhelp.kz

Имя задачи напишем понятное для нас — Создание архива резервных копий. Графу Описание заполнять не обязательно, но если заполнить, будет легче разбираться в последствии, особенно если вам понравится автоматизировать работу вашего компьютера. Нажимаем кнопку Далее.Резервное копирование баз - Mhelp.kz

В следующем окне, выставляем Тригер задачи ежедневно, по условиям нашего задания, нажимаем Далее.Резервное копирование файлов - Mhelp.kz

В появившемся окне Ежедневно, выставляем с текущей даты, время я выставляю в 20-00, так как в это время никого уже не должно быть в офисе и резервное архивирование никому не помешает. Повторять каждые — ставим 1 день, т.е. повторять каждый день.Резервное копирование баз 1с - Mhelp.kz

В окне Действие выбираем пункт Запустить программу и кнопкой Далее переходим к следующему окну.Резервное копирование 1с - Mhelp.kz

В Запуск программы, с помощью кнопки Обзор указываем путь до bat файла 7zip. Щелкаем по Далее (файл  создания архива 7zip и файл удаления старых архивов 7Del я поместил в корень диска D).Резервная копия, как сделать - Mhelp.kz

В окне Сводка, проверяем правильность параметров создаваемой задачи. Если все верно, подтверждаем создание задачи кнопкой Готово.Программа резервного - Mhelp.kz

Снова щелкаем по папке Мои задачи правой клавишей мыши и создаем вторую задачу, название которой будет Удаление архивов старше 7 дней. Запускать будем также — ежедневно, время исполнения поставим 21-00, оставив 1 час работы компьютера на выполнения задания по архивированию баз, а в Путь до программы укажем расположения второго bat файла 7Del.

В итоге у нас должно быть такое окно со списком из двух созданных задач. Можем проверить работу первой задачи вручную, для этого щелкаем  правой клавишей мыши на задаче Создание архива резервных копий, выбираем Выполнить.Программа для копирования - Mhelp.kz

В папке для резервной копии видим появление архива. В зависимости от размера данных предназначенных для резервирования, создание архива может занять продолжительное время. Резервное копирование файлов - Mhelp.kz

На этом создание задачи автоматического и полностью бесплатного решения для резервного копирования баз 1С успешно завершено.

В данном уроке, были самые базовые знания по автоматизации работы на ПК, но если у вас появилось желание облегчать себе работу, вы теперь имеете представление с чего можно начинать, без использования сторонних программ 🙂


Видео урок:


Если данная статья вам помогла и вы хотели бы сказать «Спасибо» — прочитайте Обращение автора.

Если же проблему разрешить не удалось или появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.

Как настроить автоматическую архивацию баз 1С или определенных папок, бесплатно . Последнее изменение: 2016-11-13 от Юн Сергей

6 комментариев “Как настроить автоматическую архивацию баз 1С или определенных папок, бесплатно

  1. Идея отличная, но внесу несколько предложений:
    1. По поводу архивирования. ИМХО стоило бы проверять перед этим, открыта ли база в данный момент или нет. Ключик «-ssw» конечно же хорошо, если бухгалтер один и пьет чай в это время, а вот если бухгалтеров много и база активно используется, либо идет обновление базы, то мы получим, как минимум, недопроведенные проводки и как максимум — архив с нерабочей базой.
    2. По поводу удаления старых архивов. Есть большая вероятность потерять все копии баз в случае сброса/перевода даты (батарейка села на мат. плате, троян, просто захотелось посмотреть в какой день недели родился и т.д.)
    3. По поводу планировщика. По-умолчанию, на некоторых операционных системах, планировщик не запустит задание, если отсутствует пароль на вход пользователя Windows.

    1. Благодарю Владимир, не спорю, но изложу мои мысли:
      1. В 20-00 бухгалтер пьющий чай на работе — очень редок. Но можно запуск выставить и в 4 часа утра, будем надеяться что бухгалтер не немец, перед нападением на СССР. 🙂
      Но даже если он на работе, у нас имеется еще 6 архивов, даже в случае ужаснейшего форс мажора, у нас будет откат на 2 назад, что намного лучше, чем полное отсутствие бекапов в целом.
      2. Случай редкий, но имеющий место. Если это «сервер»(пусть и в кавычках) — батарейку и «любознательность» можно исключить. Если обычный компьютер — пользователь накажет себя сам. Закончившиеся батарейки я вижу только на ПК 2005 года выпуска.
      Для надежности можно добавить создание/копирование архива на другой ПК в сети, а запуск удаления архивов уже с другого ПК.

      3. Пример дан на Windows 10, где запросов нет, в случае домашнего пользователя этого будет достаточно, в случае более «корпоративного» использования — это введение для начинающего администратора, что можно несложно и не затратно.

      В целом же, мой блог рассчитан на неподготовленных людей, поэтому дается база, которую любознательный человек может расширить сам.
      Ведь даже такая организация бекапа намного лучше отсутствия её. 🙂

  2. Есть еще неплохая бесплатная программа для таких целей которая умеет и проверять наличие пользователей в базе и выкидывать их перед бекапом и много чего еще. Effector Saver называется.

    1. Я не сторонник использования сторонних программ, поддержка которых может прекратится неожиданно, которые могут прекратить работу в новых версиях ОС и прочее, прочее, прочее.

Добавить комментарий

Войти с помощью: 

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