我需要创建一个cron作业,tar
在过去X
天内创建的所有图片。
我在CPanel
中设置了我的网站上的cron作业,但是当涉及到unix的东西时,我不是一个经验丰富的脚本编写者。任何帮助将不胜感激。
这是我的cron工作:
0 4 * * 1 tar pzvcf /home/xxxxxx/public_html/backups/images_backup.tar /home/xxxxxx/public_html/images/products
答案 0 :(得分:2)
使用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
-T -
告诉tar从stdin读取命令列表。
find命令将匹配文件列表回显到stdout。
|
将find的stdout连接到tar的stdin:所以tar应该添加find找到的所有文件。
答案 1 :(得分:0)
你可以使用以下命令
tar -cvzf outputfilename.tar ` find . -name '*' -mtime -2 -print`
在find命令中 。 - &GT;要搜索的目录 * - &gt;文件模式 -2 - &gt;代表没有天数
在你的情况下
0 4 * * 1 tar -cvz /home/xxxxxx/public_html/backups/outputfilename.tar ` find /home/xxxxxx/public_html/images/products -name '*' -mtime -2 -print`