我需要创建一个cron作业,将tar
在最后X
天内创建的所有图像。 我在我的网站上使用cron作业,在CPanel
中设置它们,但是当涉及到unix的时候,我不是一个有经验的脚本编写者。任何帮助将不胜感激。克朗到创建日期的焦油文件
这是我的计划任务:
0 4 * * 1 tar pzvcf /home/xxxxxx/public_html/backups/images_backup.tar /home/xxxxxx/public_html/images/products
我需要创建一个cron作业,将tar
在最后X
天内创建的所有图像。 我在我的网站上使用cron作业,在CPanel
中设置它们,但是当涉及到unix的时候,我不是一个有经验的脚本编写者。任何帮助将不胜感激。克朗到创建日期的焦油文件
这是我的计划任务:
0 4 * * 1 tar pzvcf /home/xxxxxx/public_html/backups/images_backup.tar /home/xxxxxx/public_html/images/products
使用find查找所有图片和养活他们的焦油。
像这样的东西应该给你文件的最后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应该添加找到的所有文件。
U可以使用下面的命令
tar -cvzf outputfilename.tar ` find . -name '*' -mtime -2 -print`
在find命令 。 - >目录搜索 * - >文件模式 -2 - >代表无天
在你的情况
0 4 * * 1 tar -cvz /home/xxxxxx/public_html/backups/outputfilename.tar ` find /home/xxxxxx/public_html/images/products -name '*' -mtime -2 -print`
将cron的能够将文件添加到现有的焦油? – bikey77 2012-04-27 06:03:20
使用tar avf而不是cvf来追加(c = create,a = append) - 您可能也会将v离开(这只是意味着冗长 - 并非所有cron作业都有用) – John3136 2012-04-27 06:05:03
您可能想要限制'find'只列出常规文件。如果您将目录名称传递给'tar',它将递归地存档整个目录内容。使用:'find -type f ...' –
2012-04-27 06:41:59