[英]Copying / Tarring Files that have been modified in the last 14 days
我有一个服务器,其文件每次都被修改。
我们想要一个每7天运行一次的脚本或cron作业,找到在过去14天内修改或创建的任何php文件,并将它们放在服务器上的tar或zip文件中,以便下载。
此命令查找正确的文件:
find . -name "*.php" -mtime -14 -print
我还需要做什么?
如果你的find输出文件列表是正确的,只需将它传递给tar:
find . -name "*.php" -mtime -14 -print | xargs tar cvf backup.tar
你应该检查man中的tar选项。 您可能希望使用例如-p(保留权限),只需在man中查找有用的选项并使用您需要的任何内容。
并将它添加到cron,如果你的发行版支持它,最简单的方法是将你的脚本放入:
/etc/cron.weekly
否则你必须修改crontab:
crontab -e
并在那里放一条线:
0 3 * * 6 <user> <your script>
它在每个星期六凌晨3点运行一个脚本,最后一个脚本是星期几,0或7是星期日。
男人5 crontab:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use
names)
cron很好。
你可能想要GNU tar的--files-from; xargs在这里很危险。 如果已知文件的数量总是很小,则xargs很好,但是如果文件列表变大,那么重新启动tar的xargs将会覆盖除最后n个文件之外的所有文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.