2016-12-09 40 views
0

我有一個Rails 3.2的應用程序使用紅寶石1.9.3我如何獲得container_commands運行在AWS上的cron作業

我們必須通過container_commands運行cron作業。

目前,我有一個common.config文件中.ebextensions目錄與它在clear_old_epubs_cron.txt文件中的以下

container_commands: 
    04_clear_old_epubs: 
    command: "cat .ebextensions/clear_old_epubs_cron.txt > /etc/cron.d/clear_old_epubs_cron && chmod 644 /etc/cron.d/clear_old_epubs_cron" 
    leader_only: true 

然後,我有

*/5 * * * * root /usr/bin/php rm -rf /var/app/current/public/epub-download-1/* > /dev/null 

# 

AWS Elastic Beanstalk, running a cronjob

得到這個來自接受的答案

cron並沒有清除它的意思。不知道是什麼阻止了cron運行,或者它正在運行,但其他的錯誤。

任何人都可以看到錯誤或缺失的東西嗎?

回答

1

正如您所指出的,可能是因爲cron作業根本沒有運行,或者由於某種錯誤而失敗。

有一件事會幫助你暫時在crontab中設置[email protected]。這樣,cron會通過電子郵件向您發送任何輸出。

希望這會產生一些來自你的cronjob的錯誤信息,它會幫助你診斷問題。

如果您沒有收到任何電子郵件,那麼cron作業根本沒有運行(或者您的系統無法發送電子郵件......)此時,您需要閱讀操作系統的cron系統,看看你是否錯過了一個步驟。

調試另一個有用的方法cron作業可以通過sudo交互運行它們,這應該給你相同的那種環境作爲當它在路徑變量方面運行的作業cron將會使用等