Cron到创建日期的tar文件

时间:2012-04-27 05:38:21

标签: unix cron tar

我需要创建一个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

2 个答案:

答案 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`