2011-03-23 102 views
5

我使用一個靜態網站生成器,在每次運行時生成網站中的所有文件。生成文件後,我使用rsync來複制內容。如何使rsync保留未更改文件的時間戳

爲了更好的緩存,我希望rsync不要修改目標中那些沒有改變的文件的時間戳。可能嗎?

編輯:爲了清楚起見,所有源文件的時間戳總是比目標文件的時間戳更新。

回答

9

-c選項似乎做我想做的。在我的情況下,表現懲罰不是問題。

+0

-t在你的情況下會更好 – Pungs 2014-03-13 03:49:33

+0

我不這麼認爲,因爲源文件的時間戳總是比目標文件的時間戳更新,即使文件內容沒有改變。 – 2014-08-26 05:33:09

+2

-c選項有效。有一點需要注意:如果你不想修改時間改變,一定不要使用-a選項,因爲它默默地調用-t,這意味着「保留修改時間」,即「覆蓋修改時間具有本地文件修改時間的遠程文件「。 – ishmael 2015-09-18 21:46:36

0

你試過了-t和-E標誌嗎?

編輯:呃...或者是每次重新生成網站時更改源文件的時間戳,即使文件沒有更改?

+0

是的,源文件時間戳總是變爲「now」。 – 2011-03-23 19:37:59

+0

在這種情況下,請嘗試使用--size-only,以便它跳過新文件(假設它們的大小相同)......但它有點危險,可能會產生意想不到的後果。與-c結合使用會更好一些,但速度較慢。 – MarcB 2011-03-23 19:39:45

相關問題