2016-07-06 24 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參與執行任務時,它實際上並沒有運行。 –