Я столкнулся с этой проблемой при изучении поведения определенного приложения, которому я не доверял. Приложение создавало, а затем удаляло временные файлы. Решение kenorb хорошее, однако использование cat
может привести к состоянию гонки (, то есть файл может быть удален во время работы cat
, поэтому извлекаются только частичные данные ).
Снизить вероятность состояния гонки можно, создав жесткую -ссылку на сам файл. grep
Создание и создание жесткой ссылки можно объединить с помощью awk
. Таким образом, я пришел к следующему;
inotifywait -e create -m --format "%w/%f" /tmp/suspicious_dir/ 2>&1 |
awk 'NR>2{n=split($0,a,"/");system("ln "$0" /tmp/hardlink_to_"a[n]);}'
Поскольку мы используем флаг -e create
, нас интересуют только временные файлы, которые будут немедленно созданы, а выходной формат дает нам полный путь к созданному временному файлу. Игнорирование первых двух строк вывода через NR>2
. Для каждого зарегистрированного файла будет создана жесткая ссылка в форме/tmp/hardlink_to_