Рейтинг:1

inotify не отслеживает события переименования при просмотре одного файла

флаг in

я использую inotifywait отслеживать события в одном файле (вместо каталога), как

$ inotifywait -m -e открыть -e закрыть -e переместить myfile.txt

Когда я открываю и редактирую файл, журналы печатаются, как и ожидалось.

Настройка часов.
Часы установлены.
myfile.txt ОТКРЫТЬ 
myfile.txt CLOSE_NOWRITE,CLOSE 

Но inotify тоже никогда не испускает ПЕРЕЕХАЛ, ПЕРЕЕХАЛ ИЗ события (даже DELETE_SELF), когда я переименовываю файл. С другой стороны, если я смотрю каталог содержащий мой файл.txt, а не один файл, события генерируются как обычно.

Один странный момент для меня заключается в том, что открытие и закрытие переименованного файла по-прежнему регистрируют события.

myfile.txt ОТКРЫТЬ 
myfile.txt CLOSE_NOWRITE,CLOSE 

На данный момент мой файл не мой файл.txt но имеет другое имя. Примечательно, что inotify не отслеживает никаких событий, вызванных работой с вновь созданным мой файл.txt.

Мои вопросы:

  1. Как я могу правильно отслеживать события «переименования» одного файла с помощью inotifywait, при этом не просматривая полный каталог?

  2. Как я могу получить текущее имя просматриваемого файла? --формат "%f" опция, кажется, всегда печатает исходное имя файла, переданное inotifywait даже если файл переименован, как показано выше.

  3. Я ищу своего рода «регистратор истории переименований», который работает для заданного набора файлов, разбросанных по файловой системе. Существуют ли какие-либо альтернативы inotify, которые можно использовать для этой конкретной цели?

флаг cn
«Но inotify никогда не генерирует события MOVED_IN, MOVED_FROM (даже DELETE_SELF), когда я переименовываю файл». Мне кажется, что это события каталога. Перемещение и удаление — это изменение индекса файла в каталоге. Он не изменяет сам файл. Мой метод состоял бы в том, чтобы просмотреть каталог и отфильтровать имя файла внутри наблюдателя за каталогом.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.