在Linux中,nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。而cron
是一个定时任务调度器,可以定期执行指定的命令或脚本。要将这两者结合起来,可以在cron
作业中使用nohup
命令。
以下是具体步骤:
编辑crontab文件: 打开当前用户的crontab文件进行编辑。可以使用以下命令:
crontab -e
添加cron作业:
在crontab文件中添加一行,指定定时任务的时间和要执行的命令。使用nohup
命令来确保命令在后台运行并且不受终端关闭的影响。例如,如果你想每天凌晨2点运行一个名为my_script.sh
的脚本,可以添加如下行:
0 2 * * * nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
解释:
0 2 * * *
:表示每天凌晨2点执行任务。nohup
:确保命令在后台运行并且不受终端关闭的影响。/path/to/my_script.sh
:要执行的脚本路径。> /path/to/output.log
:将标准输出重定向到指定的日志文件。2>&1
:将标准错误输出重定向到标准输出,这样错误信息也会被记录到日志文件中。&
:将命令放入后台运行。保存并退出:
编辑完成后,保存并退出crontab编辑器。通常可以通过按Ctrl+X
,然后按Y
确认保存,最后按Enter
退出。
验证cron作业: 可以使用以下命令查看当前用户的cron作业列表,确保新添加的作业已经生效:
crontab -l
通过以上步骤,你就可以在Linux中结合使用nohup
命令和cron
作业,确保指定的命令在后台持续运行,并且不受终端关闭的影响。