В 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