簡體   English   中英

復制/停止過去14天內修改過的文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM