2015-01-15 54 views
1

我試圖通過S3設置從一臺本地PC到AWS EC2實例的單向目錄同步過程。aws s3同步不按預期方式工作

這兩臺機器都是Windows。

我試過使用命令行界面。

在本地機器上:

aws s3 sync source_dir s3://bucket --region eu-central-1 

此命令似乎運作良好。如果沒有新東西,則不會同步。到現在爲止還挺好。

在AWS實例:

aws s3 sync s3://bucket target_dir --region eu-central-1 

使用此命令,我有一個問題。每當我運行它時,總會有一些東西需要下載(它似乎總是同一組文件,也許它們都是這些文件,但它似乎是它們的一個子集)。我的期望是,一旦同步,再次運行該命令不會產生任何下載。

我授予的政策這些權限:

"Action": [ 
    "s3:GetObject", 
    "s3:GetObjectAcl", 
    "s3:ListBucket", 
    "s3:PutObject", 
    "s3:PutObjectAcl" 
], 
"Resource": [ 
    "arn:aws:s3:::bucket_name", 
    "arn:aws:s3:::bucket_name/*" 
] 

我失去了在此設置任何東西,這樣我就不會被下載的文件,如果沒有什麼,當我運行第二個同步下載?

回答

1

你似乎做兩個獨立的同步:

  • 從本地機器到Amazon S3
  • 從亞馬遜S3到Amazon EC2實例

的問題可能與時間戳。 Amazon EC2實例始終以UTC的形式運行。這可能與原始本地機器不同。

如果您運行S3-> EC2同步,然後立即再次運行它,則不應該再次複製文件。如果複製文件,請嘗試將您的AWS CLI更新爲最新版本。如果問題仍然存在,請嘗試從EC2-> S3同步,然後再次嘗試S3-> EC2。