2016-07-10 65 views
-2

我正尝试在Ubuntu 14.04.3 AWS EC2上的aws环境的cron中使用aws cli cp命令。AWS CLI在cron中不起作用

EC2的用户被称作Ubuntu和住在/ home/Ubuntu的

我有我的AWS在/home/ubuntu/.aws/config配置文件

[default] 
output=json 
region=eu-central-1 

我有我的AWS凭据文件中/home/ubuntu/.aws/credentials

[default] 
aws_access_key_id=****** 
aws_secret_access_key=****** 

我的crontab看起来像这样

* * * * * sh /home/ubuntu/test.sh 

shell脚本试图到S3复制测试文件是一个班轮:

/usr/local/bin/aws s3 cp test.txt s3://<my-bucket>/test.txt >> /home/ubuntu/some-log-file.log 

这个cron运行,每分钟的剧本,但没有被复制到S3桶。

如果我在我的shell上手动运行脚本,它的工作原理。

我尝试(没有成功):

把正确的路径AWS(在/ usr/local/bin目录/ AWS)

前把aws_access_key_id和aws_secret_access_key到.aws/config文件作为好。

把AWS ENV瓦尔到的crontab和/或shell脚本

AWS_DEFAULT_REGION=eu-central-1 
AWS_ACCESS_KEY_ID=****** 
AWS_SECRET_ACCESS_KEY =****** 

在crontab和/或shell脚本

HOME="/home/ubuntu" 

定义HOME把配置和证书文件的位置到crontab

AWS_CONFIG_FILE="/home/ubuntu/.aws/config" 
AWS_CREDENTIAL_FILE="/home/ubuntu/.aws/credentials" 

将PATH放入crontab和/或shell脚本

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:" 

有没有人知道我可能会做错什么?

回答

0

发现我忘了一个绝对路径的test.txt(/home/ubuntu/test.txt)

我会继续的问题,因为它列出了几个选项,可能仍然是帮助他人。