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
命令执行。