nohup
命令用于在后臺運行程序,即使關閉終端或斷開連接,程序也會繼續運行。而 cron
是一個定時任務調度器,用于定期執行指定的任務。要將 nohup
與 cron
結合使用,可以在 crontab
文件中添加一個條目,使用 nohup
命令來運行你的腳本或程序。
以下是如何將 nohup
與 cron
結合使用的步驟:
打開終端。
輸入 crontab -e
命令來編輯當前用戶的 crontab
文件。如果這是你第一次使用 crontab
,它可能會提示你選擇一個文本編輯器。
在打開的 crontab
文件中,添加一行,指定任務的執行時間和要運行的命令。使用 nohup
命令和 &
符號將輸出重定向到文件,以防止輸出到終端。例如,如果你想要每天凌晨 1 點運行名為 my_script.sh
的腳本,你可以添加以下行:
0 1 * * * nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
這里的 0 1 * * *
表示每天的凌晨 1 點(1 點 0 分)。/path/to/my_script.sh
是你要運行的腳本的路徑,/path/to/output.log
是你希望將輸出保存到的日志文件的路徑。2>&1
表示將標準錯誤(2)重定向到標準輸出(1),這樣錯誤信息也會被寫入到日志文件中。最后的 &
符號表示將命令放入后臺運行。
crontab
文件。現在,你的任務已經被添加到了 cron
中,并且會使用 nohup
在后臺運行。你可以通過查看 /path/to/output.log
文件來檢查任務的輸出和錯誤信息。
請注意,如果你的腳本需要特定的環境變量或工作目錄,你可能需要在 nohup
命令之前設置這些變量或使用 cd
命令切換到正確的工作目錄。例如:
0 1 * * * cd /path/to/working/directory && nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
這將確保在執行 my_script.sh
之前切換到指定的工作目錄。