2017-09-25 208 views
0

我在我們的服務器上有很多文件,我們使用過濾器進行壓縮,只有x天以前的文件纔會被壓縮。如何保留原始文件發佈zip壓縮的時間戳

zip命令壓縮原始文件,生成一個filename.zip並刪除原始文件。 這有一個小問題,即壓縮作業在x天后運行後時間戳發生更改。

所以,當我們運行文件以刪除較舊的文件(現在是zip文件)時,並不是所有的文件都會被刪除,因爲時間戳已經從原始文件更改爲壓縮文件。

我想添加一個條件,在壓縮的同時,我希望壓縮歸檔保留文件的原始時間戳,即使它在稍後的日期運行。

這樣做將是 的一種方式 - 獲取與date命令 每個原始文件的時間戳 - 壓縮原始,刪除原來 - 使用和使用插入前面保存的時間戳新的zip文件「觸摸「

但是,如果任何人都可以提出更簡單的解決方案,那就太好了。

謝謝。

回答

0

一些舊文件我有:

$ ls -l foo 
-rw-r--r-- 1 james james 120 Sep 5 07:28 foo 

Zip和redate:

$ zip foo.zip foo && touch -d "$(date -R -r foo)" foo.zip 

檢查出來:

$ ls -l foo.zip 
-rw-r--r-- 1 james james 120 Sep 5 07:28 foo.zip 

刪除原:

$ rm -i foo 
相關問題