Полезная операционная автоматизация — это не просто однократно запущенный скрипт: она должна версионироваться, быть исполняемой, формировать контролируемый вывод и работать по расписанию. В этом проекте вы соберете эти элементы в небольшой локальный набор инструментов.
Вы настроите Git-процесс, напишете монитор на Bash, преобразуете подготовленный журнал через sed и awk и установите две задачи Cron. Этапы проверяют файлы, права, состояние репозитория, отчет и синтаксис crontab, не выдавая команды пошагово.
Чему вы научитесь
- Инициализировать локальный Git, задавать исключения, работать в
developи фиксировать базовую версию - Писать исполняемый Bash-скрипт с временными метками для использования корневого диска и состояния Nginx
- Извлекать использование диска через
dfи проверять службу черезsystemctl,serviceилиpgrep - Удалять
DEBUG, скрывать IPv4 и перестраивать поля журнала с помощьюsedиawk - Создавать исполняемый обработчик и чистый отчет с заданными временем, меткой и сообщением
- Планировать монитор каждые пять минут и обработку ежедневно в
02:00, направляя ошибки монитора в файл
Для кого этот курс
Проект предназначен для изучающих Linux и DevOps, готовых объединить Git, Bash, обработку текста и Cron без пошаговых команд.
Предварительные требования: Shell-скрипты, исполняемые права, основы Git, конвейеры, sed, awk, проверки процессов или служб и синтаксис crontab; это проверочный проект.
Учебная среда: Linux в браузере с Bash, Git, Cron, состоянием Nginx, GNU/Linux-утилитами и подготовленными файлами; удаленный Git и облако не нужны.
Часто задаваемые вопросы
Отправляется ли код в GitHub или другой удаленный репозиторий?
Нет. Создается только локальный репозиторий /home/labex/ops-toolkit, правила *.tmp и logs/, ветка develop и хотя бы один базовый коммит.
Монитор является полноценной системой оповещения?
Нет. monitor.sh выводит с временем использование корневого диска и состояние Nginx. Порогов, уведомлений, хранения метрик и панели нет.
Какой формат журналов ожидается?
Подготовленные строки с датой, временем, уровнем, IPv4 и сообщением. DEBUG удаляется, IP заменяется на [REDACTED], результат имеет вид YYYY-MM-DD HH:MM:SS [REDACTED] Message....
Ожидает ли задание Cron фактического запуска задач?
Нет. Проверяются ровно две записи: monitor.sh каждые пять минут с stderr в monitor.err и process_logs.sh ежедневно в 02:00.





