Назад | Перейти на главную страницу

найти файлы, которые в настоящее время не используются

Я пытаюсь заархивировать некоторые старые файлы, но не хочу трогать все файлы, которые сейчас используются. Как лучше всего спросить 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

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