Общая информация
Полный backup баз данных EMS/ACS можно автоматизировать. Вместе с пакетом EMS устанавливается внутренний скрипт main-dump-rotate.sh, который создаёт дамп баз данных и удаляет устаревшие архивы. Запуск скрипта по расписанию выполняется через crontab на сервере EMS.
Настройка автоматического backup
Запустите crontab с правами root:
sudo crontab -e
Файл crontab имеет примерно следующее содержание, если у вас уже не настроены другие задачи для автозапуска:
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command
Добавьте в конец файла строку и сохраните файл:
@weekly /var/ems-backup/main-dump-rotate.sh 127.0.0.1 3306 javauser javapassword 14
Скрипт необходимо выполнять от имени пользователя javauser — пользователя MySQL с доступом к базам данных EMS/ACS, иначе при выгрузке таблиц могут возникнуть ошибки. Вместо javapassword подставьте фактический пароль этого пользователя.
Параметры строки
| Поле | Пример | Описание |
|---|---|---|
| Расписание | @weekly | периодичность запуска (спецтриггеры приведены ниже) |
| Скрипт | /var/ems-backup/main-dump-rotate.sh | путь к скрипту backup (устанавливается вместе с пакетом EMS) |
| Хост | 127.0.0.1 | хост, указанный в MySQL для пользователя javauser, по умолчанию 127.0.0.1 |
| Порт | 3306 | порт MySQL, по умолчанию 3306 |
| Пользователь | javauser | пользователь MySQL с доступом к базам данных EMS/ACS |
| Пароль | javapassword | пароль пользователя MySQL |
| Срок хранения | 14 | количество дней, в течение которых хранится архив backup |
Специальные триггеры расписания:
| Триггер | Периодичность запуска |
|---|---|
@reboot | при загрузке, только один раз |
@yearly, @annually | раз в год |
@monthly | раз в месяц |
@daily, @midnight | каждый день в полночь |
@weekly | раз в неделю |
@hourly | каждый час |
Файл backup
Файл backup создаётся в папке:
/var/ems-backup/main
с именем примерного содержания:
eltex-ems-backup.2024-March-22--17-21-21.gz
В дамп записываются все базы данных EMS и ACS.
Устаревшие архивы удаляются автоматически: срок их хранения задаётся последним параметром строки.
См. также
- Восстановление баз данных EMS/ACS из файла Backup созданного скриптом — восстановление из файла backup, созданного скриптом;
- Конвертирование баз EMS — ручное выполнение того же скрипта и обновление EMS.