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