Как следить за изменением конфигурации в Linux

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

linuxinotifywaitмониторинг

ℹ️ Если вы администрируете серверы или работаете с Linux, то вам наверняка приходилось следить за изменением конфигурационных файлов. Вместо того чтобы вручную проверять изменения, воспользуйтесь утилитой inotifywait для мониторинга файлов или директорий в реальном времени. Это особенно удобно для отслеживания неочевидных изменений, которые могут происходить в системе.

➡️ Пример:

Вы хотите следить за изменениями в конфигурационном файле Nginx (/etc/nginx/nginx.conf):

inotifywait -m /etc/nginx/nginx.conf -e modify

Что делает эта команда:

  • -m — режим мониторинга (программа продолжает работать, пока вы её не остановите).
  • /etc/nginx/nginx.conf — путь к файлу, который вы отслеживаете.
  • -e modify — отслеживается событие изменения содержимого файла.

🔥 Теперь, если кто-то изменит этот файл, вы увидите в реальном времени уведомление в терминале:

/etc/nginx/nginx.conf MODIFY

❗️ Полезный трюк:

Если вам нужно отслеживать изменения сразу в нескольких файлах или директориях, используйте комбинацию с find. Например, для мониторинга всей конфигурационной директории Nginx:

find /etc/nginx -type f | xargs inotifywait -m -e modify

⚡️ Пример продвинутого использования:

Вы можете настроить автоматический откат изменений, если файл был модифицирован. Вот скрипт для сохранения бэкапа и отката при изменении:

#!/bin/bash

FILE="/etc/nginx/nginx.conf"
BACKUP="/etc/nginx/nginx.conf.bak"

# Создаем резервную копию файла
cp "$FILE" "$BACKUP"

# Следим за изменениями
inotifywait -m "$FILE" -e modify | while read; do
  echo "Изменения обнаружены! Откатываем..."
  cp "$BACKUP" "$FILE"
  systemctl reload nginx
done

ℹ️ Теперь, если файл будет изменён, скрипт автоматически вернёт его к исходному состоянию и перезагрузит Nginx.

✳️ Подобный подход особенно полезен для DevOps-инженеров, которые хотят быть на шаг впереди неожиданных изменений в инфраструктуре.

tags: #linux #файлы #мониторинг

🧭 @recura_tech

Скриншот терминала с подсветкой кода: Bash-скрипт для inotifywait и пример команды мониторинга /etc/nginx/nginx.conf в тёмной теме.
Терминал с примером скрипта отката и командой inotifywait.

Читайте так же