[英]Copying / Tarring Files that have been modified in the last 14 days
我有一個服務器,其文件每次都被修改。
我們想要一個每7天運行一次的腳本或cron作業,找到在過去14天內修改或創建的任何php文件,並將它們放在服務器上的tar或zip文件中,以便下載。
此命令查找正確的文件:
find . -name "*.php" -mtime -14 -print
我還需要做什么?
如果你的find輸出文件列表是正確的,只需將它傳遞給tar:
find . -name "*.php" -mtime -14 -print | xargs tar cvf backup.tar
你應該檢查man中的tar選項。 您可能希望使用例如-p(保留權限),只需在man中查找有用的選項並使用您需要的任何內容。
並將它添加到cron,如果你的發行版支持它,最簡單的方法是將你的腳本放入:
/etc/cron.weekly
否則你必須修改crontab:
crontab -e
並在那里放一條線:
0 3 * * 6 <user> <your script>
它在每個星期六凌晨3點運行一個腳本,最后一個腳本是星期幾,0或7是星期日。
男人5 crontab:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use
names)
cron很好。
你可能想要GNU tar的--files-from; xargs在這里很危險。 如果已知文件的數量總是很小,則xargs很好,但是如果文件列表變大,那么重新啟動tar的xargs將會覆蓋除最后n個文件之外的所有文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.