符号链接文件比X年龄更新,然后稍后删除符号链接一次文件年龄?

我有大量的文件/文件夹进来,每天都被自动sorting到各种各样的文件夹。 我正在寻找一种方法来自动查找这些文件/文件夹,并创build符号链接到一个“传入”文件夹中的所有。 search文件的年龄应该足以查找文件,但search年龄和所有者将是理想的。 然后,一旦文件/文件夹链接到一定的年龄,例如5天,从“传入”文件夹中自动删除它们的符号链接。 这可以做一个简单的shell或python脚本,可以与cron运行吗? 谢谢!

使用incron创建符号链接,然后在cron中find -L来打破它。

不太清楚你想要的符号链接但这是第一个镜头:

 find /incoming -mtime -5 -user nr -exec ln -s '{}' /usr/local/symlinks ';' 

查找/incoming nr任何内容,并将其链接到/usr/local/symlinks 。 不幸的是,没有一个很好的选择来忽略已经存在的东西。 你最好写一个连接事物的脚本,同时你可以使事情变得更有效率:

 find /incoming -mtime -5 -user nr -print0 | xargs -0 mylink 

mylink在哪里

 #!/bin/bash for i do link=/usr/local/symlinks/"$(basename "$i")" [[ -L "$link" ]] || ln -s "$i" /usr/local/symlinks done 

如果你想更有效率的话,你可以累积一个数组链接的文件列表,而不是用一个ln命令链接它们,但是这是很多的符号,我可能不会打扰。

要删除指向 5天以前文件的符号链接:

 find -L /usr/local/symlinks -mtime +5 -user nr -exec rm '{}' ';' 

或者你也可以使用xargs

 find -L /usr/local/symlinks -mtime +5 -user nr -print0 | xargs -0 rm -f