我使用一個靜態網站生成器,在每次運行時生成網站中的所有文件。生成文件後,我使用rsync來複制內容。如何使rsync保留未更改文件的時間戳
爲了更好的緩存,我希望rsync不要修改目標中那些沒有改變的文件的時間戳。可能嗎?
編輯:爲了清楚起見,所有源文件的時間戳總是比目標文件的時間戳更新。
我使用一個靜態網站生成器,在每次運行時生成網站中的所有文件。生成文件後,我使用rsync來複制內容。如何使rsync保留未更改文件的時間戳
爲了更好的緩存,我希望rsync不要修改目標中那些沒有改變的文件的時間戳。可能嗎?
編輯:爲了清楚起見,所有源文件的時間戳總是比目標文件的時間戳更新。
-c
選項似乎做我想做的。在我的情況下,表現懲罰不是問題。
你試過了-t和-E標誌嗎?
編輯:呃...或者是每次重新生成網站時更改源文件的時間戳,即使文件沒有更改?
是的,源文件時間戳總是變爲「now」。 – 2011-03-23 19:37:59
在這種情況下,請嘗試使用--size-only,以便它跳過新文件(假設它們的大小相同)......但它有點危險,可能會產生意想不到的後果。與-c結合使用會更好一些,但速度較慢。 – MarcB 2011-03-23 19:39:45
-t在你的情況下會更好 – Pungs 2014-03-13 03:49:33
我不這麼認爲,因爲源文件的時間戳總是比目標文件的時間戳更新,即使文件內容沒有改變。 – 2014-08-26 05:33:09
-c選項有效。有一點需要注意:如果你不想修改時間改變,一定不要使用-a選項,因爲它默默地調用-t,這意味着「保留修改時間」,即「覆蓋修改時間具有本地文件修改時間的遠程文件「。 – ishmael 2015-09-18 21:46:36