Урок 7 из 8 · 20 мин · обновлено
Мониторинг и резервные копии
Зачем нужен мониторинг и что отслеживать: ресурсы, доступность сервисов, место на диске, сроки сертификатов, журналы. Оповещения и системы мониторинга. Резервные копии по правилу 3-2-1, проверка восстановления и автоматизация по расписанию через cron.
Зачем нужен мониторинг
Плохой сценарий: директор звонит и говорит, что сайт не работает. Хороший: система мониторинга прислала сисадмину сообщение «на сервере осталось 10% места», и он почистил старые журналы за два дня до проблемы.
Мониторинг — постоянное наблюдение за серверами и сервисами, чтобы узнавать о проблемах раньше пользователей.
Что отслеживать
| Что | Почему важно |
|---|---|
| Загрузка процессора и памяти | сервер может тормозить или падать под нагрузкой |
| Место на диске | закончилось место — останавливаются базы данных и журналы |
| Доступность сервисов | отвечает ли сайт, почта, 1С |
| Сроки сертификатов и доменов | истёк сертификат — браузеры показывают предупреждение и не пускают на сайт |
| Журналы | ошибки и подозрительные входы |
| Резервные копии | выполнилась ли ночная копия |
Быстрая ручная проверка сервера:
uptime # сколько работает и средняя нагрузка
free -h # память
df -h # место на дисках
top # кто грузит процессор и память
journalctl -p err -b # ошибки с момента загрузки
Системы мониторинга и оповещения
Вручную за десятками серверов не уследить. Используют системы мониторинга: они каждую минуту собирают показатели, рисуют графики и присылают оповещения, когда что-то выходит за пределы. В российских компаниях часто встречаются Zabbix, Prometheus с Grafana и их аналоги.
Главное правило оповещений: присылать то, что требует действий. Если система шлёт сотню сообщений в день о мелочах, их перестают читать — и пропускают настоящую проблему.
Резервные копии
Диски ломаются, сотрудники удаляют не те файлы, программы-шифровальщики портят данные. Резервная копия — единственный способ вернуть данные.
Правило 3-2-1:
- 3 копии данных — рабочая и ещё две;
- на 2 разных носителях — например, второй диск и сетевое хранилище;
- 1 копия — в другом месте: в другом офисе или облаке. Пожар, затопление или шифровальщик не должны уничтожить все копии сразу.
Что ещё важно:
- автоматизация — копия, которую делают «когда вспомнят», однажды не будет сделана;
- несколько версий — копия за вчера, неделю и месяц: если файл испортили неделю назад, вчерашняя копия не поможет;
- проверка восстановления — раз в месяц восстановите что-нибудь из копии. Копия, из которой ни разу не восстанавливались, может оказаться пустой или битой.
Расписание: cron
Регулярные задачи в Linux запускает cron. Расписание редактируют командой crontab -e:
# минута час день месяц день_недели команда
0 2 * * * /home/admin/backup.sh
30 9 * * 1 /home/admin/report.sh
Первая строка — каждый день в 02:00. Вторая — по понедельникам в 09:30. Звёздочка значит «любое значение».
Попробуйте сами. Напишите скрипт, который упаковывает папку ~/documents в архив с датой в имени и кладёт его в ~/backup. Добавьте его в cron на каждый день в 23:00. Подумайте, чего не хватает, чтобы схема соответствовала правилу 3-2-1.
Решение
Скрипт ~/backup.sh:
#!/bin/bash
mkdir -p ~/backup
tar -czf ~/backup/documents-$(date +%F).tar.gz -C ~ documents
Права и проверка:
chmod u+x ~/backup.sh
~/backup.sh
ls -lh ~/backup
Строка для crontab -e:
0 23 * * * /home/anna/backup.sh
Вместо anna — ваше имя пользователя: в cron лучше писать полный путь.
Чего не хватает до 3-2-1: архивы лежат на том же диске, что и данные. Сломается диск — пропадут и данные, и копии. Нужна вторая копия на другом носителе и одна — в другом месте. А ещё — удалять старые архивы, чтобы не закончилось место, и хотя бы раз распаковать архив и проверить, что файлы целы.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Зачем сисадмину мониторинг, если пользователи и так сообщат о сбое?
Многие сбои предсказуемы: заканчивается место, истекает сертификат, растёт нагрузка. Мониторинг даёт время исправить до остановки.
-
Что означает правило 3-2-1?
Если копии лежат рядом с сервером, пожар или шифровальщик уничтожит всё сразу. Копия в другом месте спасает.
-
Что значит строка cron 0 2 * * * /home/admin/backup.sh?
Поля по порядку: минута, час, день месяца, месяц, день недели. 0 2 * * * — в 2 часа 0 минут каждый день.