2013-06-05 84 views
0

我試圖運行在EC2實例腳本的一個cronjob,但它只是不工作 我運行它,現在的方式是麻煩通過上一個cronjob運行shell腳本的EC2實例

15 * * * * root /home/ec2-user s3_upload.sh TestBucket 

我寫這個的時候我做的crontab -e

現在我在這個目錄/ home/EC2用戶/所以我不知道,也許有事做,爲什麼它沒有運行。

我只是不明白這整個cron的東西,以及如何權限的工作。

任何幫助,非常感謝!

+0

嘗試查看man頁面:'man crontab','man cron' – devnull

+0

語法不正確。你的意圖是什麼? cd到該目錄並執行.sh文件? –

+0

是的,我想cd到該目錄並執行s3_upload.sh腳本。 – user2442230

回答

1
  1. 您不能指定一個用戶的crontab一個用戶名,僅在/etc/crontab

  2. 您不能以任何形式的crontab指定目錄。要更改目錄,請使用cd。

  3. 環境是不一樣的。如果你請在.bashrc中設置PATH,這些將不會自動包含,因此使用完整路徑是最安全的。

,作爲root(假設你想運行此爲根,而不是EC2用戶或某事),運行crontab -e並添加

15 * * * * cd /home/ec2-user && /full/path/to/s3_upload.sh TestBucket 

確保在根,你可以複製 - 粘貼命令終端並使其工作,然後閱讀root的郵件,查看可能的錯誤消息的命令輸出。如果它仍然不起作用,請確保您有這些錯誤可用。

+0

我試着運行這個,它仍然沒有工作,我不認爲我是根,如果我不是根,我將如何運行這個? – user2442230

+0

抱歉保持垃圾郵件,但我是一個總noob,所以這個腳本還與/ home/ec2-user和其他目錄中的文件進行交互,我所知道的是,當我從/ home/ec2-user內運行它時,腳本工作,但cron工作沒有。十分感謝你的幫助!! – user2442230

+0

在運行s3_upload.sh命令之前,輸入'whoami'來查看您運行的用戶。然後'crontab -e'並添加它(它將被添加到當前用戶的crontab中)。你可以用'mail'來檢查用戶的郵件,看看運行的錯誤信息。 –