Введение.
Продолжая публикации о Zabbix, см.полезные ссылки, переходим к обсуждению вопроса создания резервной копии Zabbix MySQL.
Без сомнения многие админы согласятся — «Buckup наше всё!» и это действительно так. Что бы мы не делали и какие бы усилия не прикладывали, всё окажется бесполезным если нет возможности к восстановлению программы после аварии..
Подготовка.
- Стенд
- ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
- БД MySQL
План действий по созданию резервной копии Zabbix MySQL.
- Что надо сохранить:
- dump БД
- настройки сервера
- настройки серверного агента
- журналы
dump БД — содержит структуру и контент базы данных
- Каталоги Zabbix.
- /etc/zabbix — файлы агентов
- /var/www/webapps/zabbix/ui — рабочий каталог
- /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
- /var/log/zabbix — журналы Zabbix
- /usr/share/doc — пакеты Zabbix
- /var/lib/mysql — БД MySQL
- /etc/my.cnf.d — настройки MySQL
Перед тем как приступить, создадим каталог для хранения архива.
# mkdir -p /home/bkz
Создание dump MySQL.
Создание dump БД Zabbix.
# systemctl stop zabbix_mysql
# mysqldump -uroot -pzabbix zabbix > /home/bkz/zabbix.db
# systemctl startp zabbix_mysql
Если требуется dump всех БД MySQL.
# systemctl stop zabbix_mysql
# mysqldump -uroot -pzabbix -A > /home/bkz/all_db.sql
# systemctl start zabbix_mysql
Копирование каталогов Zabbix.
Вся информация о работе агентов Zabbix и настройках подключённых узлов- хранится в БД.
Для копирования каталогов воспользуемся утилитой cp.
# cp -r /etc/zabbix/zabbix_server.conf /home/bkz
# cp -r /etc/zabbix/zabbix_agentd.conf /home/bkz
# cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php /home/bkz
# cp -r /var/log/zabbix /home/bkz
Таким образом мы сохранили всё, что потребуется для восстановления сервера мониторинга используя «ручной» ввод команд.
Автоматизация Backup MySQL.
Ручное копирование наглядно для выборочного backup, но не достаточна, когда система включена в технологический процесс работы ИТ предприятия.
Для выполнения backup по расписанию создадим файл zbk.sh для командной оболочки bach, с инструкцией к исполнению при обращении к нему.
#!/bin/bash
TEMPDIR=/tmp/zbk/
BACKUPDIR=/home/
mkdir -p $TEMPDIR
# Стор Apache2
systemctl stop httpd2
# Стоп zabbix сервер
systemctl stop zabbix_mysql
# Создать dump MySQL и скопировать в каталог
mysqldump -uroot -pzabbix -A > $TEMPDIR/all_db.sql
# Старт Apache2
systemctl start httpd2
# Старт zabbix сервер
systemctl start zabbix_mysql
# Копировать каталоги
cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR
cp -r /etc/zabbix/zabbix_agentd.conf $TEMPDIR
cp -r /var/www/webapps/zabbix/ui/conf/zabbix.conf.php $TEMPDIR
cp -r /var/log/zabbix $TEMPDIR
# Сохранить с текущей датой (max до 31 дня месяца)
tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR
# Очистить временный каталог
rm -rf /tmp/zbk
Инструкция содержит пошаговые действия по созданию Backup Zabbix MySQL.
Созданный архив будет иметь название и формат записи: zabbix_23_back.tar.bz2.
Запуск Backup Zabbix.
После того, как сценарий zbk.sh создан его следует поместить в каталог /usr/local/bin и назначить права.
# chmod 744 /usr/local/bin/zbk
/usr/local/bin — один из каталогов хранения сценариев оболочки bash
Скрипт zbk.sh, для проверки, можно запускать в «ручную».
# zbk.sh
Для выполнения запуска программ по расписанию используем cron.
cron — планирует выполнение команд в указанные даты и время
Создание расписания.
# crontab -e
minute (0-59),
| hour (0-23),
| | day of the month (1-31),
| | | month of the year (1-12),
| | | | day of the week (0-6 with 0=Sunday).
| | | | | commands
00 00 * * 0 zbk
Заключение.
В статье блога приведены рекомендации для создания резервной копии Zabbix работавшего на движке MySQL. Настоятельно советуем провести несколько контрольных операций по созданию резервной копии на стенде.
Созданные архивы должны храниться на специальном сервере или устройстве для резервных копий вашей компании.
Восстановление резервной копии читайте в разделе полезные ссылки.
Полезные ссылки.
- Сайт
- Загрузка
- Документация
- Форум
- Установка Zabbix PostgreSQL
- Установка Zabbix MySQL
- Backup Zabbix MySQL
- Backup Zabbix PostgreSQL
- Восстановление Zabbix MySQL
- Восстановление Zabbix PostgreSQL
- Ошибки Zabbix
- Справка Zabbix
- Zabbix Sisyphus