符号链接文件比X年龄更新,然后稍后删除符号链接一次文件年龄?
问题描述:
我有大量的文件/文件夹每天进来,正在被自动排序到各种各样的文件夹。我正在寻找一种方法来自动查找这些文件/文件夹,并在“传入”文件夹中为它们创建符号链接。搜索文件的年龄应足以查找文件,但搜索年龄和拥有者将是理想的。然后,一旦链接的文件/文件夹达到某个年龄(例如5天),则从“传入”文件夹自动删除符号链接。这可能与一个简单的shell或python脚本可以用cron运行吗?谢谢!符号链接文件比X年龄更新,然后稍后删除符号链接一次文件年龄?
答
使用incron创建符号链接,然后在cron中使用find -L
来破解它。
答
不太清楚你想要什么符号链接到但这里有一个第一枪:
find /incoming -mtime -5 -user nr -exec ln -s '{}' /usr/local/symlinks ';'
查找在/incoming
通过nr
拥有少于5天的老东西,并将其链接到/usr/local/symlinks
。不幸的是ln
没有一个很好的选项来忽略已经存在的东西。你是断写,在连接东西剧本好,并在同一时间,你可以让事情变得更高效:
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
: