我在Amazon S3存儲桶中有一些文件,我正在使用SaltStack將所有這些文件複製到備用目錄中。如何檢查AWS S3同步是否有任何更改?
不幸的是,SaltStack沒有能力從S3複製整個目錄,所以我使用了awscli。它幾乎完美地工作。
它可以同步S3桶和我的目錄(萬歲!),它甚至有一個--dryrun
標誌(甚至更好!),但不幸的是我不能想出一個辦法讓它做東西,我可以捕獲Salt表示沒有任何變化。
我有一個看起來像這樣的鹽的狀態:「什麼?到這裏」
copy-my-dir:
file.directory:
- name: /path/to/my/dir
- makedirs: True
cmd.run:
- name: "aws s3 sync s3://my-bucket/ /path/to/my/dir"
- unless: "What goes here?"
我試過--dry-run
爲但aws s3同步返回0是否有要同步的文件。
我想aws --output json s3 sync --dry-run
但是,即使不接近做任何有用的(即不輸出的JSON我可以告訴大家,至少不是通過salt 'minion' cmd.run "aws..."
運行時。
所以,我怎麼能知道還有我的亞馬遜S3存儲和我的目錄之間的差異,所以我可以有條件地執行一個SaltStack狀態