nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。cron
是一个定时任务调度器,可以用来定期执行任务。要将 nohup
与 cron
结合使用,可以在 crontab
文件中添加一个条目,使用 nohup
命令运行所需的脚本或程序。
以下是如何将 nohup
与 cron
结合使用的步骤:
打开终端。
输入 crontab -e
命令以编辑当前用户的 crontab
文件。如果需要使用特定用户的 crontab
文件,请使用 sudo crontab -u username -e
。
在打开的 crontab
文件中,添加一行,指定任务的执行时间和要运行的命令。使用 nohup
命令确保程序在后台运行,即使关闭终端或断开连接。例如,要每天凌晨 1 点运行名为 my_script.sh
的脚本,可以使用以下格式:
0 1 * * * nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
这里,0 1 * * *
表示每天凌晨 1 点执行任务。/path/to/my_script.sh
是要运行的脚本的路径。> /path/to/output.log
将标准输出重定向到指定的日志文件。2>&1
将标准错误输出重定向到标准输出,这样错误信息也会被记录到日志文件中。最后的 &
符号表示在后台运行任务。
crontab
文件。现在,cron
将根据指定的时间运行任务,并使用 nohup
命令确保任务在后台运行。注意:请确保脚本具有可执行权限。可以使用 chmod +x /path/to/my_script.sh
命令为脚本添加可执行权限。