2017-04-20 61 views
0

當我在終端中背靠背運行命令時,它不會再次同步。太棒了!它不應該。但是,如果我運行構建過程並以編程方式運行aws s3 sync,那麼它會同時對所有文件進行同步處理,就好像我的構建過程第二次以不同方式更改內容一樣。`aws s3 sync`如何確定文件是否已更新?

無法弄清楚可能發生了什麼。有任何想法嗎?

我的構建過程基本上是pug source/ --out static-site/stylus -c styles/ --out static-site/styles/

+1

這可能是Amazon S3 [最終一致](Amazon S3數據一致性模型)的結果。如果你在兩次執行之間拖延,它表現會更好嗎? –

+0

我嘗試了幾分鐘。同樣的結果。 – Costa

回答

2

根據這一點 - http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

S3同步的文件大小和最後修改的時間戳進行比較,看是否有文件需要同步。

在你的情況下,我懷疑構建系統會產生一個新的時間戳,即使文件大小沒有改變?

+0

Argh ....懷疑時間戳。 – Costa

+1

有一個'--exact-timestamps'選項,當時間戳完全匹配時,相同大小的項目將被忽略。默認行爲是忽略相同大小的項目,除非本地版本比S3版本更新。 –

+0

嗯...並沒有真正的幫助。爲了解決這個問題,我需要中斷帕格的編譯命令來運行cmp或其他東西。我無法想象如何開始這樣做。我想我會放棄這個項目。 – Costa

相關問題