Что такое 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/majes
ty/bin/update.php при добавлении файла в каталог /home/majesty/somedir с аргументом равным полному пути к добавленному файлу.
Доступные внутри команды аргуметны:
- $$ знак доллара
- $@ путь к обрабатываемому каталогу
- $# название файла вызвавшего событие
- $% текстовые флаги события
- $& цифровые флаги события