大家好我正在尝试为亚马逊上的ec2卷自动备份快照。我正在关注Collin Johnson的ec2-automate-backup脚本 如果在命令行上运行命令,则创建快照(工作):
ubuntu@linuxserver:/usr/local/ec2/scripts$ sudo ./ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c ./cron-primer.sh -r "eu-west-1"
为了测试目的,如果我创建一个crontab它不工作
0 10 * * * ubuntu /usr/local/ec2/scripts/ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c /usr/local/ec2/scripts/cron-primer.sh -r "eu-west-1"
我的问题出在哪里,我在ubuntu 14.04上运行脚本 - 亚马逊?
答案 0 :(得分:0)
有两种可能性:
您需要root权限才能运行该脚本。您可以通过修改root的crontab来解决这个问题:
sudo crontab -e
请参阅How to run a cron job using the sudo command
您需要与脚本位于同一目录中才能执行
0 10 * * * ubuntu cd /usr/local/ec2/scripts && ./ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c ./cron-primer.sh -r "eu-west-1"
答案 1 :(得分:0)
在crontab
文件中,要执行shell脚本,您可以使用以下方法之一:
<强> 1。直接调用shell脚本,即
0 10 * * * /path/to/script.sh
其中script.sh应该是可执行的。
<强> 2。通过sh
实用程序执行脚本,即
0 10 * * * sh /path/to/script.sh
这里不需要将script.sh设为可执行文件。
现在,如果您需要转到特定路径然后执行脚本,那么:
crontab
文件中提供脚本的完整路径,或cron
执行封闭文件。