Ошибки inotifytools

Я использую inotifytools для рекурсивного мониторинга каталога. когда я использую следующую команду

inotifywait ./test -m

после команды, если я создаю директор под ./testпредполагая ./test/test2, Тогда, если я сделаю что-то под test2например, удалить файл или добавить файл, очень странно, что не произошло никакого события.

Кажется, что нет часов на test2,

Это ошибка или я просто неправильно использую?

2 ответа

man 1 inotifywait, вы получите следующий вывод:

-r, --recursive
Смотреть все подкаталоги любых каталогов, переданных в качестве аргументов. Часы будут рекурсивно настроены на неограниченную глубину. Символические ссылки не пройдены. Недавно созданные подкаталоги также будут просмотрены.
Предупреждение: если вы используете эту опцию во время просмотра корневого каталога большого дерева, может пройти довольно много времени, пока не будут установлены все наблюдения inotify, и в это время события не будут получены. Кроме того, поскольку для каждого подкаталога будут установлены одни часы inotify, возможно, будет достигнуто максимальное количество часов inotify на пользователя. Максимум по умолчанию - 8192; его можно увеличить, написав в /proc/sys/fs/inotify/max_user_watches.

По умолчанию, inotifywait не будет контролировать подкаталоги, так что вам нужно -r, --recursive вариант, чтобы заставить это. Таким образом, команда, которая вам нужна, будет выглядеть так:

inotifywait -rm test

Часы inotify просто не рекурсивны. (То есть вам понадобится по одному на каталог, если вы хотите получить уведомление на глубоком уровне.)

Другие вопросы по тегам