nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。而 cron
是一个定时任务调度器,用于定期执行指定的任务。要将 nohup
与 cron
结合使用,可以在 crontab
文件中添加一个条目,使用 nohup
命令来运行你的脚本或程序。
以下是如何将 nohup
与 cron
结合使用的步骤:
打开终端。
输入 crontab -e
命令来编辑当前用户的 crontab
文件。如果这是你第一次使用 crontab
,它可能会提示你选择一个文本编辑器。
在打开的 crontab
文件中,添加一行,指定任务的执行时间和要运行的命令。使用 nohup
命令和 &
符号将输出重定向到文件,以防止输出到终端。例如,如果你想要每天凌晨 1 点运行名为 my_script.sh
的脚本,你可以添加以下行:
0 1 * * * nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
这里的 0 1 * * *
表示每天的凌晨 1 点(1 点 0 分)。/path/to/my_script.sh
是你要运行的脚本的路径,/path/to/output.log
是你希望将输出保存到的日志文件的路径。2>&1
表示将标准错误(2)重定向到标准输出(1),这样错误信息也会被写入到日志文件中。最后的 &
符号表示将命令放入后台运行。
crontab
文件。现在,你的任务已经被添加到了 cron
中,并且会使用 nohup
在后台运行。你可以通过查看 /path/to/output.log
文件来检查任务的输出和错误信息。
请注意,如果你的脚本需要特定的环境变量或工作目录,你可能需要在 nohup
命令之前设置这些变量或使用 cd
命令切换到正确的工作目录。例如:
0 1 * * * cd /path/to/working/directory && nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
这将确保在执行 my_script.sh
之前切换到指定的工作目录。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Linux中Compton与其他合成器的比较