В творческой жизни каждого админа приходиться настраивать backup (архивирование) базы данных. Это может быть БД от 1С, клиентская база CRM или ещё что-то. Если ваша БД хранится локально в каталогах сервера и компания не готова выделить финансовые средства на покупку программного продукта по архивированию, я предлагаю вам рассмотреть backup БД средствами WinRar и планировщика задании на примере БД 1С.

Допустим поставлена задача:

Компания обзавелась продуктом 1С: Бухгалтерия и необходимо настроить ежедневное архивирование базы данных (backup) с циклическим удалением старше 7 дней (Циклическое удаление настраиваем в том случае если это необходимо)

Всё что нам потребуется:

1) Установить WinRar на сервер\ПК. Скопировать из корневого каталога WinRar .exe фаил: Rar.exe  в каталог C:\Windows\System32\ (Установить можно демо-версию, а после того как скопировали нужный файл, можете смело удалить программу WinRar если это необходимо)

2) Прописать в переменную Path следующий путь: C:\Windows\System32\Rar

3) Написать .bat-ник архивации базы данных.

4) И если это необходимо, дополнительно пропишем в .bat-нике команду на циклическое удаление БД 1С старше 7 дней.

5) В планировщике заданий настроить расписание запуска .bat-ника

 

Шаг 1. Установка WinRar и копирование в системный каталог

Rar.exe мы копируем в C:\Windows\System32\ для того чтобы команды\ключи Rar мы могли применять в командной строке CMD

Устанавливаем архиватор WinRAR. Далее, из корневого каталога WinRar копируем Rar.exe:  C:\Program Files\WinRAR\Rar.exe в системный каталог C:\Windows\System32\

copy paste

Шаг 2. Добавить в переменную Path запись об WinRar

Далее прописываем в переменной Path путь к системному каталогу куда был скопирован Rar.exe. Это нужно для того чтобы командная строка cmd распознала утилиту Rar.

Открываем Свойство системы - Дополнительно - Переменные среды. Далее, в окне Переменные среды, переходим в раздел Системные переменные - Ищем переменную: Path и добавляем в конце через точку с запятой путь ;C:\Program Files\WinRAR\Rar;

path

Если Мы сделали всё правильно, то в командной строке cmd должна сработать команда rar с ключом /? Вводим:

>rar /?

cmd rar

Шаг 3. Пишем .bat-ник

На этом шаге собственноручно напишем пакетный файл или в быту, это называется .bat-ник.

Картина следующая:

База данных 1С лежит на сервере в каталоге D:\DB\Zarplata\

В диске D:\ создадим два каталога - Backup и Scrypt

В каталоге Backup будет формироваться архивный файл от БД 1С и копироваться в каталог backup (D:\Backup\Zarplata).

В каталоге Scrypt будет хранится пакетный файл т.е. .bat-ник (D:\Scrypt\backup_1c.bat)

Dirs1

Пишем .bat-ник:

Открываем блокнот, пишем команды

__________________________________________________________

D:

md D:\Backup\Zarplata

cd D:\DB\Zarplata

rar a -o+ -r D:\Backup\Zarplata.rar *.*

copy /Y D:\Backup\Zarplata.rar D:\Backup\Zarplata\Zarplata_%date%.rar

del D:\Backup\Zarplata.rar

__________________________________________________________

D: - переход командной строки в дисковой раздел D:\

md D:\Backup\Zarplata - Данная команда создаёт каталог Zarplata в разделе D:\Backup\ (Для более детальной информации о команде, наберите md /?)

cd D:\DB\Zarplata - Данная команда переводит командную строку в каталог Zarplata, расположенный в разделе D:\DB\ Данный переход необходим для следующей команды Rar, для того чтобы архивировать весь каталог (Для более детальной информации о команде, наберите сd /?)

rar a -o+ -r D:\Backup\Zarplata.rar *.* - Данная команда с указанными ключами архивирует Весь каталог Zarplata из раздела D:\DB\Zarplata\ в файл Zarplata.rar, в раздел D:\Backup\ (Для более детальной информации о команде, наберите rar /?)

copy /Y D:\Backup\Zarplata.rar D:\Backup\Zarplata\Zarplata_%date%.rar - Копирует архивированный БД файл Zarplata.rar из раздела D:\Backup\, в раздел D:\Backup\Zarplata\ и переименовывает файл подставляю актуальную дату запущенного пакетного файла. Это облегчит админу найти тот архив БД который запросят для восстановления. (Для более детальной информации о команде, наберите copy /?)

del D:\Backup\Zarplata.rar - Данная команда удаляет сформированный архивный файл Zarplata.rar из раздела D:\Backup\ (Для более детальной информации о команде, наберите del /?)

Сохраняем файл под именем backup_1c.bat в разделе D:\Scrypt (Для этого в окне Сохранение выберите тип файла: Все файлы\Аll types и введите имя файла)

bat1

Шаг 4. Дописываем команду циклического удаления БД

Админ может задаться вопросом - "а что делать если мне нужно хранить архив всего 7-14 дней? Удалять руками?"

Этот вопрос можно решить добавив дополнительную команду в наш составленный .bat-ник:

Forfiles /P D:\Backup\Zarplata /S /M *.* /D -7 /C "cmd /c del /Q @path" - Данная команда ищет в каталоге Zarplata который в разделе D:\Backup\ все файлы старше 7 дней и удаляет их.  (Для более детальной информации о команде, наберите Forfiles /?)

bat2

Шаг 5. Настраиваем расписание ежедневного запуска автоархивирвоания

Наш .bat-ник готов. Теперь осталось дело за малым. Автоматизируем процесс архивирования ежедневным запуском через планировщик задач.

Запустим Планировщик заданий: Пуск - Администрирование - Планировщик заданий

В левой панели щелкаем по строке - Библиотека планировщика заданий. Далее, в правой панели нажимаем - создать задачу.

plane1

Во вкладке общие задаем Имя, Описание (Если это нужно), вводим учетную запись администратора от имени которого будет запускаться задача, ставим радио кружок Выполнять для всех пользователей и галочку Выполнить с наивысшими правами.

plane2

Далее, переходим во вкладку Триггеры и создаем расписание запуска задачи

plane3

Далее, переходим во вкладку Действия и создаем запуск .bat-ника который мы написали.

plane4

Остальные параметры и условия можно оставить по умолчанию. Готово!

P. S. Архивация базы данных 1С не сработает если запущена клиентская часть 1С на рабочих станциях. Для успешной архивации все программы 1С должны быть закрыты.

Всем спасибо за внимание =) Успешной вам архивации!