我想每小时从我的 Ubuntu 机器上的文件夹*.(deb|rpm)
中删除文件。Downloads
我的 crontab 上有这个
* */1 * * * cd /home/alexalannunes/Downloads && ls *.deb > log.txt && rm *.deb
因为我想要记录哪些文件已被删除。
但这一行仅删除*.deb
.我想删除文件(.deb|.rmp|.other_file)
这是可能的?
我尝试在谷歌中搜索,但没有找到任何东西
谢谢!
答案1
您可以根据需要指定任意多个扩展名,只需单独列出它们即可。例如:
* */1 * * * cd /home/alexalannunes/Downloads && ls *.deb *.rpm > log.txt && rm *.deb *.rpm
答案2
如果 crontab 运行所在的 shell 支持大括号扩展,则可以通过使用大括号扩展来给出多个扩展:
*.{rpm,deb,other_file}
否则只是链接多个扩展。
*.rpm *.deb
另外,您不需要单独的ls
,rm
具有详细输出,-v
并且您应该添加-f
以忽略不存在的文件和参数,并且从不提示。
* */1 * * * rm -fv /home/alexalannunes/Downloads/*.{deb,rpm} > log.txt
或者
* */1 * * * rm -fv /home/alexalannunes/Downloads/*.deb /home/alexalannunes/Downloads/*.rpm > log.txt