【发布时间】:2018-02-10 05:08:00
【问题描述】:
我需要定期将EC2 实例中存在的日志复制到S3 存储桶。所以我使用 Amazon cli 和 crontab 来安排它。
在crontab -e 中,我添加了以下几行
* * * * * aws --version >> /tmp/out.txt 2&>1
* * * * * aws s3 cp log_file_path s3://bucket >> /tmp/out.txt 2&>1
第一个语句,我只是用来检查 aws cli 是否工作正常,因为我是新手,每分钟将 aws 版本重定向到一个文件。
第一个命令可以正常工作,但第二个不能。如果我单独运行 aws s3 cp 命令,那么它运行良好,即将日志文件复制到 s3 存储桶。但是如上所述不适用于cron,
通过日志得知我收到以下错误:
Upload failed....An error occurred (AccessDenied) when calling the PutObject operation : Access Denied.
有人可以指出如何使它工作。
【问题讨论】:
-
也将日志记录添加到第二行
-
@DusanBajic - 更新
-
您的 aws 凭据是否存储在
~/.aws/credentials文件中? -
@DusanBajic - 关键和价值应该是什么?
标签: amazon-web-services amazon-s3 amazon-ec2 cron aws-cli