Автоматизація резервного копіювання баз 1с підприємство

У нашому розпорядженні є 3 сервери з різними версіями платформи:

  • SRV1 - зі встановленою платформою 1С 7.7
  • SRV2 - зі встановленою платформою 1С 8.1
  • SRV3 - зі встановленою платформою 1С 8.2

На всіх серверах однакова розмітка дискової підсистеми:

  • На розділі C: \ маємо встановлену систему Windows Server
  • На розділі Е: \ містяться бази платформ
  • І нарешті, на розділі I: \ міститимуться резервні копії баз.
  • На сервері SRV1 встановлений файловий варіант платформи 1С 7.7, розташований в "E: \ Бази \ База 1С7.7".
  • На сервері SRV2 встановлений файловий варіант платформи 1С 8.1, розташований в "E: \ Бази \ База 1С8.1".
  • На сервері SRV3 встановлений серверний варіант платформи 1С 8.2, розташований в "E: \ Бази \ База 1С8.2". Кластер бази матиме назву FirmaBuh

Перед нами стоїть завдання: робити резервні копії зазначених вище баз в призначений час - 1:00 після планового перезавантаження серверів в 00:00.

Для виконання поставленого завдання, по-перше створимо на кожному розділі I наших серверів папки з назвами:

Після того, як ми створили основні каталоги для наших майбутніх архівів, приступимо до написання самих bat-ників. У даній статті bat-файли розташовуються в тих же каталогах що і архіви. На SRV1 в директорії "I: \ Архів \ База 1С7.7" створимо файл з назвою backup77.bat

Автоматизація резервного копіювання баз 1с підприємство

Не забуваємо задати розширення .bat. Архівувати базу на SRV1 ми будемо за допомогою безкоштовного архіватора 7-zip, скачати який ви можете на сайті розробника. Слід зазначити, що в наведеному нижче методі відбувається архівування всього каталогу з базою.

Відкриємо створений нами файл за допомогою блокнота. Запишемо туди наступне:

Розглянемо детально написаний вище код. Команда chcp 1251 задає кодування cp1251, тобто всі російські назви директорій будуть сприйматися інтерпретатором правильно (хоча в командному рядку при запуску батника ви будете бачити нечитабельним символи).

Параметр .ate%. як ви вже здогадалися, задає дату на момент запуску архівування. Ключ -mx3 задає рівень стиснення. У нашому прикладі він означає швидке стиснення. Про всяк випадок тут приведена команда -ssw. Вона дозволяє архівувати навіть в тому випадку, якщо 1с 7.7 буде запущена. Додаткову довідку за всіма ключам командного рядка ви можете отримати в російській документації до програми 7-zip.

Запустивши bat-файл, ви зможете поспостерігати весь процес архівування. Якщо вам це не треба, слід видалити команду pause. а @echo off перемістити після команди chcp 1251.

На SRV2 в директорії "E: \ Бази \ База 1С8.1" створимо файл з назвою backup81.bat. На відміну від минулого сервера, на цьому архівування ми будемо проводити за допомогою вивантаження бази безпосередньо через 1с 8.1, а не архівуючи каталог з базою цілком.

Параметр setlocal дозволяє нам змінити змінні в пакетному файлі. Ми можемо позначити шлях замість довгого рядка просто двома або трьома символами. Наприклад, ми задаємо шлях до 1cv8.exe, при цьому не вписуємо цілком шлях, а спочатку просто даємо позначення каталогу, де розташовується 1с і папки в якій знаходиться наш exe. Параметр CONFIG запускає 1с 8.1 в режимі "Конфігуратора". Після ключа / F вказуємо каталог з файлами БД, / DisableStartupMessages пригнічує стартові повідомлення програми про різні попередження. Для поставленої задачі вони нам не потрібні. Команда / DumpIB вивантажує задану базу в каталог I: \ Архів \ База 1С8.1.

Далі командами / N і / P задаються логін і пароль адміністратора бази відповідно. Потім відбувається вивантаження лог файлу параметром / OUT в каталог I: \ Архів \ База 1С8.1 c ім'ям backup.log. У нього будуть записувати результати вивантаження бази:

Ключ -NoTruncate робить так, що лог файл не очищається кожен раз при запуску bat-ника. Так само в кінці батника для зручності ми записуємо дату вивантаження бази в лог-файл backup.log.

На SRV3 в директорії "E: \ Бази \ База 1С8.2" створимо файл з назвою backup82.bat. Конфиг, представлений нижче майже ідентичний попередньому, за винятком того, що запуск 1с відбувається для серверного варіанту установки. Відповідно, збігаються параметри ми не будемо описувати.

На цьому ми остаточно розібрали вивантаження і архівування баз платформ 1с 7.7, 8.1 і 8.2. Створені нами bat-файли можна додати в будь-який планувальник. Ми використовували для цього стандартний планувальник завдань Windows.

Автоматизація резервного копіювання баз 1с підприємство

В кінці статті хотілося б привести код bat-файлу, що дозволяє автоматизувати перевірку наявності файлу з архівами. Запускати його можна з будь-якого комп'ютера, але при цьому каталоги з архівами повинні бути відкриті в загальному доступі в мережі.

  1. 1С: Підприємство 8 - оновлення інформаційних баз в пакетному режимі.

Схожі статті