0

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

2 回答 2

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

告诉 tar 从标准输入-T -读取命令列表。

find 命令将匹配文件列表回显到标准输出。

|find 的 stdout 连接到 tar 的 stdin:因此 tar 应该添加 find 找到的所有文件。

于 2012-04-27T05:50:54.450 回答
0

你可以使用以下命令

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`
于 2012-04-27T06:34:08.980 回答