将 AWS CLI“同步”结果输出到 txt 文件

Ree*_*ece 4 command-line amazon-s3 amazon-web-services aws-cli

我是 AWS 的新手,特别是 AWS CLI 工具的新手,但到目前为止我似乎一切顺利。

我使用以下命令连接到 AWS S3 并将本地目录同步到我的 S3 存储桶:

set AWS_ACCESS_KEY_ID=AKIAIMYACCESSKEY
set AWS_SECRET_ACCESS_KEY=NLnfMySecretAccessCode
set AWS_DEFAULT_REGION=ap-southeast-2
aws s3 sync C:\somefolder\Data\Dist\ s3://my.bucket/somefolder/Dist/ --delete
Run Code Online (Sandbox Code Playgroud)

这是上传文件正常并显示每个文件的进度和结果。初始上传完成后,我假设所有新同步只会上传新的和修改的文件和文件夹。使用--delete将删除存储桶中本地服务器上不再存在的所有内容。

我希望能够将每次上传的结果(或者在其他服务器的情况下下载,这些服务器将获取正在上传的内容的副本)输出到本地计算机上的 .txt 文件,以便我可以使用 blat .exe 将内容通过电子邮件发送给将监控同步的人员。

所有这些都将放入一个批处理文件中,该文件将安排每晚运行。

可以输出到.txt吗?如果是这样,怎么办?

Bro*_*oks 7

我自己还没有对此进行测试,但我发现一些资源表明您可以在 Windows 命令提示符中重定向命令行驱动应用程序的输出,就像在 Linux 中一样。

aws s3 sync C:\somefolder\Data\Dist\ s3://my.bucket/somefolder/Dist/ --delete > output.txt 
Run Code Online (Sandbox Code Playgroud)

我找到的资源有:

/sf/answers/1169935021/

https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

初始上传完成后,我假设所有新同步只会上传新的和修改的文件和文件夹。使用 --delete 将删除存储桶中本地服务器上不再存在的所有内容。

这是正确的,同步将上传与目标(无论是 S3 存储桶还是本地计算机)相比的新文件或修改后的文件。

--delete 将删除目标(不一定是 S3 存储桶)中不在源中的任何内容。应谨慎使用它,以避免出现以下情况:您已下载、修改和同步一个文件,并且由于您的本地计算机没有所有文件,因此使用 --delete 标志将删除以下位置的所有其他文件目的地。