我需要創建一個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