Zabbix - мощный инструмент мониторинга, который помогает следить за состоянием ваших серверов. Одна из частых задач - мониторинг свободного места на диске. Рассмотрим сценарий: при малом количестве места на диске и сработал триггер Zabbix и нужно автоматически освободить место путем создания бэкапа файлов и перемещения их на другой сервер.
▪️ Настройка триггера в Zabbix:
Создайте триггер, который будет срабатывать при достижении порога свободного места на диске. Например, если свободное место на /dev/sda1 меньше 10%:
{server:vfs.fs.size[/,pfree].last()}<10
▪️ Скрипт для создания бэкапа и перемещения файлов: Создайте скрипт на сервере, который будет выполнять резервное копирование и перенос файлов:
#!/bin/bash
# Директория для архивирования
SOURCE_DIR="/dev/sda1/path/to/files"
BACKUP_DIR="/backup/$(date +%Y%m%d)"
REMOTE_SERVER="user@remote_server"
REMOTE_PATH="/remote/backup/path"
# Создаем директорию для бэкапа
mkdir -p $BACKUP_DIR
# Архивируем файлы старше 1 месяца
find $SOURCE_DIR -type f -mtime +30 -print0 | tar -czvf $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz --null -T -
# Переносим архив на удаленный сервер
scp $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz $REMOTE_SERVER:$REMOTE_PATH
# Удаляем файлы старше 1 месяца из исходной директории
find $SOURCE_DIR -type f -mtime +30 -delete
# Логирование
echo "Backup and cleanup completed on $(date)" >> /var/log/backup_cleanup.log
SOURCE_DIR - путь к директории на /dev/sda1, откуда будут архивироваться файлы.
BACKUP_DIR - локальная директория для временного хранения архивов.
REMOTE_SERVER и REMOTE_PATH - параметры удаленного сервера и пути, куда будут перемещаться архивы.
▪️ Автоматизация через Zabbix: Добавьте действие (action) в Zabbix, которое будет запускать скрипт при срабатывании триггера:
Перейдите в Configuration > Actions.
Создайте новое действие и настройте его так, чтобы оно выполнялось при срабатывании триггера на малое количество места.
В секции Operations укажите команду для выполнения скрипта:
/path/to/backup_script.sh
▪️ Тестирование и настройка уведомлений: Проверьте срабатывание триггера и убедитесь, что скрипт выполняется корректно. Дополнительно можно настроить уведомления о выполнении операции через почту или мессенджер.
Этот подход помогает автоматизировать рутинные задачи и предотвращать проблемы, связанные с нехваткой места на диске.
#backup #linux #zabbix
🧑💻 NetworkAdmin