nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。要使用 nohup 执行定时任务,你可以将 nohup 与 cron 结合使用。
首先,确保你已经安装了 cron。在大多数 Linux 发行版中,cron 已经预装。你可以通过运行以下命令检查 cron 是否已安装:
crontab -l
如果输出为空或者显示 “no crontab for [username]”,则需要安装 cron。在基于 Debian 的系统上,可以使用以下命令安装:
sudo apt-get install cron
在基于 RHEL 的系统上,可以使用以下命令安装:
sudo yum install cronie
接下来,打开你的 crontab 文件以编辑定时任务:
crontab -e
在文件末尾添加一行,表示定时任务的执行时间和要执行的命令。例如,如果你想每天凌晨 1 点运行名为 my_script.sh 的脚本,可以添加以下行:
0 1 * * * nohup /path/to/your/script/my_script.sh > /path/to/output.log 2>&1 &
这里的 0 1 * * * 表示每天凌晨 1 点执行任务。nohup 命令将脚本放在后台运行,> 将标准输出重定向到指定的日志文件,2>&1 将标准错误输出重定向到标准输出,& 表示将命令放入后台运行。
保存并退出 crontab 文件。现在,你的定时任务已经设置好了,将在指定的时间使用 nohup 命令执行。