在 linux 中利用 nohup 命令进行任务调度是非常实用的技巧。本文将详细讲解如何在 linux 系统中使用 nohup 命令来保持任务在后台运行,以及如何结合 cron 实现定时任务调度。
nohup 命令的主要作用是让命令在用户退出登录后仍然能够继续运行。
nohup ./my_script.sh &
这里,& 符号会将命令放入后台执行。
nohup: ignoring input and appending output to 'nohup.out'
这表示命令的输出将被重定向到一个名为 nohup.out 的文件中。如果您希望将输出重定向到其他文件,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
这里,> 符号会将标准输出重定向到 output.log 文件,2>&1 会将标准错误重定向到标准输出,而 & 符号会将命令放入后台执行。
tail -f nohup.out
希望每天凌晨 1 点运行 my_script.sh 脚本,可以添加以下行:0 1 * * * /path/to/your/script/my_script.sh
保存并退出编辑器。现在,您的任务将在指定的时间自动运行。
总而言之,nohup 命令能够让您在后台运行命令,即使您退出登录,命令仍会继续执行。结合 cron 任务调度器,您可以实现定时任务调度。