Блог majestyМониторинг файловой системы через incron


Теги

Мониторинг файловой системы, incron

Автор majesty

Что такое incron?
Это программа которая запускает другие программы в зависимости от выполняемых на файловой системе действий. Тоесть при выполнении определенного события в определенном каталоге incron может выполнить определенную настройками команду.

На данный момент incron(0.5.9) не поддерживает рекурсивный мониторинг.
Это значит что вы не можете следить за вложенными каталогами.

Какие события обрабатывает incron?
Взято c http://www.opennet.ru/prog/info/3506.shtml
  • IN_ACCESS - доступ на чтение
  • IN_ATTRIB - изменение мета-данных (права доступа, владелец и т.д.)
  • IN_CLOSE_WRITE - закрытие файла, открытого ранее на запись
  • IN_CLOSE_NOWRITE - закрытие файла, открытого ранее на чтение
  • IN_CREATE - создание файла или директории в заданном каталоге
  • IN_DELETE - удаление файла или директории в заданном каталоге
  • IN_DELETE_SELF - удаление заданного файла или директории
  • IN_MODIFY - изменение файла
  • IN_MOVE_SELF - перемещение заданного файла или директории
  • IN_MOVED_FROM - перемещение файла из заданной директории
  • IN_MOVED_TO - перемещение файла в заданную директорию
  • IN_OPEN - открытие файла

Установка и настройка

sudo aptitude install incron

Изначально доступ к incron имеют пользователи перечисленные в /etc/incron.allow

sudo vim /etc/incron.allow

Вписываем имя пользователя, в моем случае majesty. Теперь можно добавить обрабатываемые события.

incrontab -e

/home/majesty/somedir IN_CLOSE_WRITE php /home/majesty/bin/update.php $@/$# > /dev/null

Указанная выше запись означает что incron выполнит php /home/majesty/bin/update.php при добавлении файла в каталог /home/majesty/somedir с аргументом равным полному пути к добавленному файлу.

Доступные внутри команды аргуметны:
  • $$ знак доллара
  • $@ путь к обрабатываемому каталогу
  • $# название файла вызвавшего событие
  • $% текстовые флаги события
  • $& цифровые флаги события

Для добавления комментариев необходимо авторизоваться.
2010 ©