運行一個定時任務

運行一個定時任務

在過去的幾個小時裡,我一直對 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 末尾至少新增一個空白行。

相關內容