我需要创建一个将tar
在过去X
几天内创建的所有图像的 cron 作业。我通过在我的网站上设置它们来使用 cron 作业CPanel
,但在涉及 unix 内容时,我不是一个经验丰富的脚本编写者。任何帮助将不胜感激。
这是我的 cron 工作:
0 4 * * 1 tar pzvcf /home/xxxxxx/public_html/backups/images_backup.tar /home/xxxxxx/public_html/images/products
使用 find 定位所有图像并将它们提供给 tar。
像这样的东西应该会给你在过去 2 天内创建的文件(-2 表示 < 2*24 小时)
find <path> -ctime -2 -print
这样的事情可能完成了整个工作:
find <path> -ctime -<within_days> -print | tar cf <output.tar> -T -
You need to specify:
<path> (where to search for images)
<output.tar> (output file name)
<within_days> (add files < this many days old)
tar cf <file>
创建一个 tarball,tar af <file>
附加到现有的 tarball
告诉 tar 从标准输入-T -
读取命令列表。
find 命令将匹配文件列表回显到标准输出。
将|
find 的 stdout 连接到 tar 的 stdin:因此 tar 应该添加 find 找到的所有文件。
你可以使用以下命令
tar -cvzf outputfilename.tar ` find . -name '*' -mtime -2 -print`
在查找命令中。-> 要搜索的目录 * -> 文件模式 -2 -> 表示天数
在你的情况下
0 4 * * 1 tar -cvz /home/xxxxxx/public_html/backups/outputfilename.tar ` find /home/xxxxxx/public_html/images/products -name '*' -mtime -2 -print`