Cron
如何在@reboot 後 1 分鐘開始 Cron 作業?
我需要在每次重新啟動後一分鐘執行我的腳本。當我
@reboot
在我的 crontab 中申請時,我的腳本還為時過早 - 我希望在所有其他在重新啟動時例行執行的任務之後執行腳本。重新啟動後的某個時候如何執行腳本?
該腳本是否只打算在啟動後一分鐘執行,還是也可以在其他時間使用?在前一種情況下,您可以添加
sleep 60
到腳本的開頭,或者在後一種情況下,將其添加到 crontab 文件中:@reboot sleep 60 && my_script.sh
但是,正如 sr_ 所指出的那樣,也許您以錯誤的方式解決了這個問題,而適當的 init.d 或 rc.d 腳本將是一個更強大的解決方案。
如果您需要在網路可用時重新啟動後執行某些操作,例如,您可以編寫將在所需時間執行的 systemd 單元(當然這僅適用於具有 systemd 的系統)。
為此,請創建
/etc/systemd/system/my_script.service
具有以下內容的文件:[Unit] Description=My script that requires network After=network.target [Service] Type=oneshot ExecStart=/full/path/to/my_script.sh [Install] WantedBy=multi-user.target
然後執行:
sudo systemctl daemon-reload sudo systemctl enable my_script
你完成了!