👁 Работа с большими данными и автоматизация файловых задач требуют мгновенного реагирования на изменения. Вместо сложных cron-работ можно использовать inotifywait, отслеживающий изменения в файловой системе в реальном времени. Он полезен для обновления файлов, обработки данных и синхронизации каталогов.
📝 Пример кода:
#!/bin/bash # Путь к отслеживаемой директории WATCH_DIR="/path/to/watch" # Команда для выполнения при изменении COMMAND="rsync -avz /path/to/source /path/to/destination" # Используем inotifywait для мониторинга изменений inotifywait -m -r -e modify,create,delete --format '%w%f' "$WATCH_DIR" | while read FILE do echo "Изменения в файле: $FILE" # Выполнение команды синхронизации $COMMAND done
📌 Как это работает:
inotifywait— это инструмент для мониторинга изменений в файловой системе, который поддерживает событийный режим. Мы используем параметры-mдля постоянного мониторинга,-rдля рекурсивного обхода подкаталогов, и-eдля выбора интересующих событий, таких как создание, изменение или удаление файлов.- Каждое изменение в указанной директории будет вызывать выполнение команды (в данном случае синхронизации с помощью
rsync).
❗️ Использование inotifywait позволяет значительно упростить рабочие процессы и избежать лишних опросов файловой системы.
tags: #linux #полезно



