nohup
命令本身不提供定時任務的功能,它主要用于在后臺運行程序,使程序在用戶退出登錄后繼續運行
cron
定時任務:編輯用戶的 crontab
文件,添加一行定時任務。例如,如果你想每天的 1:00 運行一個名為 your_script.sh
的腳本,可以這樣做:
crontab -e
然后在打開的編輯器中添加以下內容:
0 1 * * * nohup /path/to/your_script.sh > /path/to/output.log 2>&1 &
保存并退出編輯器。這樣,nohup
命令就會在每天的 1:00 運行 your_script.sh
腳本,并將輸出重定向到 output.log
文件。
systemd
定時任務(適用于 systemd):創建一個新的 systemd
定時器單元文件,例如 your_timer.timer
:
[Unit]
Description=Run your script every day at 1:00 AM
[Timer]
OnCalendar=*-*-* 01:00:00
Persistent=true
[Install]
WantedBy=timers.target
創建一個新的 systemd
服務單元文件,例如 your_service.service
:
[Unit]
Description=Your script service
[Service]
ExecStart=/path/to/your_script.sh
將這兩個文件保存到 /etc/systemd/system/
目錄下。然后運行以下命令啟用并啟動定時器:
sudo systemctl enable --now your_timer.timer
這樣,nohup
命令就會在每天的 1:00 運行 your_script.sh
腳本,并將輸出重定向到日志文件(默認為 /var/log/syslog
)。