查找当前未使用的文件

查找当前未使用的文件

我正在尝试存档一些较旧的文件,但不想触及所有当前正在使用的文件。要求find排除“正在使用”文件的最佳方法是什么?

现在我正在研究这个命令,但我问是否有更好的(我的find表达稍微复杂一些,但以此为例)

find /tmp/ -type f \( -exec fuser -s {} \; -o -print \)

答案1

我认为答案是有没有稍微不那么复杂的东西?

我尝试了您的示例并且它确实起作用了...

$ 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

显然,您可能还应该查找上次写入时间超过一定时间的文件,因为您不想乱弄脚本中正在使用的临时文件,但除此之外,我看不到更简单的解决方案。

相关内容