TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #639 1.69K
👀 Мониторинг изменений файлов с помощью inotify и fswatch

В Linux есть подсистема ядра - inotify, которая умеет отслеживать изменения в файловой системе и выдавать уведомления о событиях (создание, удаление, обновление файлов и каталогов). Для работы можно воспользоваться утилитой fswatch, которая доступна почти во всех популярных ОС. В linux под капотом она использует именно inotify.

▪️ Установка:


apt install fswatch


Запуск простого мониторинга за директорией /tmp:


fswatch /tmp


Но в таком виде вывод слишком сырой. Можно сразу добавить ключи:

-x - отображать тип событий
-t - выводить временные метки


fswatch -x -t /tmp


▪️ Пример работы

В одной консоли запускаем fswatch, а в другой пробуем:


echo '123' > /tmp/file.txt
rm /tmp/file.txt


В логах получаем:


28 Sep 2025 23:27:20 MSK /tmp/file.txt Created
28 Sep 2025 23:27:20 MSK /tmp/file.txt Updated
28 Sep 2025 23:27:35 MSK /tmp/file.txt Removed


▪️ Автоматизация

Мониторинг можно запустить в фоне:


fswatch -x -t /tmp >> /var/log/fswatch.log &


или добавить автозапуск через cron:


@reboot fswatch -x -t /tmp >> /var/log/fswatch.log &


Более надёжный способ - оформить как сервис systemd: /etc/systemd/system/fswatch.service


[Unit]
Description=fswatch file monitor
[Service]
ExecStart=/usr/bin/fswatch -x -t /tmp
[Install]
WantedBy=multi-user.target


Запуск:


systemctl enable --now fswatch.service
journalctl -u fswatch.service


Можно отфильтровать конкретные типы событий, например, только удаление:


fswatch --event Removed -x -t /tmp


#inotify #fswatch

🧑‍💻 NetworkAdmin
  • 👍 14
  • ❤ 2
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Oct 1, 2026CENTI CONF: DevOps Day — митап по разработке и инженерным решениям ⚡️ 6 ноября Centicore G…
  3. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  4. Sep 30, 2026👁‍🗨 Хочешь разбираться в информационной безопасности, а не просто копировать чужие коман…
  5. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  6. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →