如何通过电子邮件发送AWS CLI数据同步失败通知?

时间:2015-09-16 05:51:39

标签: batch-file amazon-s3 aws-cli

我的.bat文件内部调用了AWS sync命令:

aws s3 sync D:\Users\backup s3://mybucket

它将我的本地数据同步到S3存储桶。然后我为该.bat文件创建了一个Windows Scheduler Task,每天2300hr运行.bat文件并将我的本地数据同步到S3存储桶。

如果在本地PC上同步期间发生故障(例如:网络故障/ s3身份验证失败)或远程S3服务器,我希望通过电子邮件收到失败通知。

获取此通知的最佳和最有效的方法是什么?

1 个答案:

答案 0 :(得分:1)

AWS Command-Line Interface (CLI)可以返回错误代码以指示命令是否成功。

请参阅:AWS CLI Return Codes

因此,您可以执行以下操作:

  • 运行CLI命令时,将输出重定向到临时文件
  • 检查返回代码。如果它不为零,则发送包含错误代码和临时文件内容的电子邮件

这将是:

aws s3 cp ./foo s3://bar >output
code=$?
if [ $code -ne 0 ]
then <email stuff with output file>
fi