2016-07-06 46 views
0

我最初在AWS论坛上发布了这个,并没有得到太多回应。调度ec2-create-image cron作业

我想安排一个服务器的每天两次的形象,我用我的crontab该条目在root用户下:

01 12,00 * * * /opt/aws/bin/ec2-create-image i-InstanceNameHere --region eu-west-1 --name `date +%s` --description "testing-imaging" --no-reboot -O ABCDEFGHIJKLMNOPQRS -W ABCDEFGHIJKLMNOPQRS 

运行命令(正确的密钥信息和实例名当然)手动成功地创建一个图像(但没有描述),但是当cronned没有发生时。

我都直接在crontab中有这个命令,并且把上面的命令放到了bash脚本中,每次运行时它都会在文件中弹出一个带有日期标记的文件,所以我肯定这不是'一个cron问题。

有没有人有任何想法什么可能会导致这不工作时间安排?

在此先感谢您的任何建议!

麦克

+0

http://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work –

回答

0

怀疑这个问题并非专门用于cron。

在error2007s对日志的查询的背面,我将所有内容放入bash脚本中,并将所有输出推送到日志文件中。

问题是,当通过cron运行时,大多数所需的服务器变量都未设置,最后我留下了下面的列表定义。这些可能有点夸张,但最终过程起作用。

#!/bin/sh 

#Set required envionmental variables for ec2-create-image to run 
export AWS_PATH=/opt/aws 
export PATH=$PATH:$AWS_PATH/bin 
export AWS_ACCESS_KEY=000000000000 
export AWS_SECRET_KEY=000000000000000000000 
export AWS_HOME=/opt/aws/apitools/ec2 
export EC2_HOME=/opt/aws/apitools/ec2 
export JAVA_HOME=/usr/lib/jvm/jre 

/opt/aws/bin/ec2-create-image i-123123123123123 --region eu-west-1 --name `date +%s` --description "testing-imaging" --no-reboot &>> backuplog.txt 

echo "backup operation ran `date`" >> backuplog.txt 
1

的Cron上24小时时钟从0开始如午夜和23为11时。因此,您只需用0,12替换12,0即可。也只是使用单个“0”。

+0

感谢这个建议,我已经错过了。 实际的脚本(输出日期戳到一个文件,所以我知道它正在运行)似乎每天至少启动一次,尽管 01 12,00 * */root/backup- server.sh 我不太关注频率的这一点,更多的是它并没有真正关闭备份。 –

+0

所以你说它每天只运行一次或根本不运行? – error2007s

+0

完全没有,关于时序的问题似乎不是那么重要,而且更多的是当cron参与执行任务时,它实际上并没有运行。 –