incrontab и вложенные каталоги

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

RequiroVerus
Сообщения: 64
ОС: Debian

incrontab и вложенные каталоги

Сообщение RequiroVerus »

Всем, доброго времени суток!

строчка в incrontab:

Код: Выделить всё

/home/user/Documents IN_MODIFY bash /root/bin/send.sh $# $@


Каталог Documents содержит большое количество подкаталогов. При создании/изменении файлов в этих каталогах incrontab не сигнализирует о том, что произошли изменения.

При том, что скрипт при создании или изменении файлов в самом Documents, работает нормально.

Вопрос в следующем, можно ли как-нибудь указать incrontab'у, чтобы он рекурсивно обрабатывал вложенные каталоги?


Veni, Vidi, Vici
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: incrontab и вложенные каталоги

Сообщение t.t »

Прямо в мане и написано:
(incrond(8)) писал(а):Recursive monitoring (whole subtrees) has not been implemented yet.


И даже маны не обязательны (у меня этого icrontab и нет):
http://www.google.ru/search?q=incrontab%20recursive
Вторая ссылка; причём её даже открывать не нужно: прямо на странице поиска всё написано.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: incrontab и вложенные каталоги

Сообщение Nazyvaemykh »

(incrond(8)) писал(а):Recursive monitoring (whole subtrees) has not been implemented
yet.


Добавлю, что в этом ‘yet’ есть немного лукавства. Реализовать рекурсивный мониторинг, используя подсистему inotify ядра Linux (почти) невозможно технически. Да, можно пройтись по дереву каталолов, добавить все подкаталоги (надеясь, что не упремся в ограничение 8192). Но при создании новых каталогов мы столкнемся с race condition — состоянием гонки.

Предположим, мы наблюдаем за каталогом DIR. Пользователь создает поддиректорию DIR1 и файл DIR1/FILE.
Возможно, наблюдающая программа, получив известие о появлении каталога DIR/DIR1, успеет отреагировать: попросит ядро сообщать об изменениях в DIR/DIR1 и получит сообщение о появлении файла DIR1/FILE.
Возможно, наблюдающая программа отреагирует на появление DIR1 слишком поздно. Про какие-то изменения в каталоге DIR1 она так никогда и не узнает.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали: