ele*_*128 3 ubuntu cron amazon-ec2 amazon-ebs ubuntu-14.04
我正在尝试在我的 ec2 亚马逊服务器(ubuntu 14.04)上运行备份脚本,以自动创建亚马逊 ebs 卷的快照。因此我使用 aws-missing-tools 脚本:https : //github.com/colinbjohnson/aws-missing-tools/tree/master/ec2-automate-backup
这是我的备份脚本,它触发 ec2-automate-backup-awscli.sh:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/aws
HOME=/
JAVA_HOME=/usr/lib/jvm/default-java/jre/
MAILTO=xxx.xxxxxx@me.com
AWS_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxx
AWS_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/opt/aws/ec2-automate-backup-awscli.sh -r us-east-1 -s tag -t 'Backup,Values=true' -k 31 -p
Run Code Online (Sandbox Code Playgroud)
但是我只在使用 crontab 调度此脚本时收到此错误:
26 23 * * * /opt/aws/backup.sh >> /var/log/aws.log 2>&1
Run Code Online (Sandbox Code Playgroud)
日志文件:“为了使用 ec2-automate-backup-awscli.sh,必须安装可执行文件“aws”。”
直接执行“sh backup.sh”工作正常。(已创建快照。)
有任何想法吗?
你的PATH
变量应该是一个列表目录,所以给你aws
的可执行文件的生活/usr/local/bin/aws
,你PATH
应该是这样的:
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
此外,您最好通过像这样的“hashbang”设置 shell,而不是使用SHELL
环境变量,因为这将允许 crontab 自动使用正确的解释器:
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1816 次 |
最近记录: |