Я пытаюсь заархивировать некоторые старые файлы, но не хочу трогать все файлы, которые сейчас используются. Как лучше всего спросить find
исключить "используемые" файлы?
Сейчас я работаю над этой командой, но спрашиваю, есть ли что-нибудь получше (мой find
выражение немного сложнее, но возьмем его как пример)
find /tmp/ -type f \( -exec fuser -s {} \; -o -print \)
Я думаю ответ на есть что-нибудь менее сложное? является нет.
Я попробовал ваш пример, и он сработал ...
$ find . -type f \( -exec fuser -s {} \; -o -print \)
./a_temp_file
./another_temp_file
$ ( sleep 10 ) > file_open_for_10_secs &
[2] 31969
$ find . -type f \( -exec fuser -s {} \; -o -print \)
./a_temp_file
./another_temp_file
$
[2]+ Done ( sleep 10 ) > file_open_for_10_secs
$ find . -type f \( -exec fuser -s {} \; -o -print \)
./file_open_for_10_secs
./a_temp_file
./another_temp_file
Очевидно, вам, вероятно, также следует искать файлы, в которые в последний раз записывались файлы в течение определенного времени назад, поскольку вы не хотите возиться с временными файлами, которые используются как часть сценария, но в остальном я не вижу более простого решения. .