在過去的幾個小時裡,我一直對 cronjobs 感到困惑。我已閱讀文件和範例。我了解基礎知識和概念,但還沒有任何工作。所以我希望能得到一些幫助來解決這個完全菜鳥的困境。
最終目標是安排每天執行 django 函數。在此之前,我想知道我可以安排任何舊腳本運行,首先運行一次,然後定期運行。
所以我想: 1)編寫一個簡單的腳本(可能是 bash 腳本),它可以讓我確定它確實運行成功,或者失敗。 2) 安排此腳本在整點執行
我嘗試編寫一個 bash 腳本,簡單地將一些文字輸出到終端:
#!/bin/bash
echo "The script ran"
然後我將其放入 .txt 檔案中
MAILTO = *****.******@gmail.com
05 * * * * /home/vadmin/development/test.sh
但什麼事也沒發生。我確信我做到了許多事情不對勁。我該從哪裡開始解決所有這些問題?
答案1
我不知道你是否真的能夠在螢幕上看到這樣的 cron 輸出。
我敢打賭如果你把
echo "the script ran" >> /home/vadmin/file.txt
在您的工作中,驗證 cron 是否正在運行並且 crontab 是否安裝正確(如其他答案所建議的那樣),它將按預期運行。
不過,您指定的 cron 不會每天運行,它會在每小時 5 點運行。
答案2
你的 cron 守護程式真的在運作嗎?檢查進程表。
透過電子郵件傳送結果也可能有問題 - 檢查 crond 和本機郵件伺服器的日誌。
答案3
您放入 .txt 檔案中的行需要新增到定時任務。
最佳實踐表明您不要直接編輯 crontab 文件,而是使用crontab -e
在編輯器中打開 crontab 文件的命令,允許您編輯/保存它,檢查它是否有語法錯誤,並安全地保存它。
此外,您的系統上可能存在的 cron 的一個怪癖是,如果檔案中的最後一行不是空白行,則 cron 會忽略前一行。確保在 crontab 末尾至少新增一個空白行。