在Linux中,nohup
命令通常用于在后台运行程序,使其在用户退出登录后继续运行。如果你想要使用nohup
结合定时任务来运行某个程序,你可以使用cron
来实现。
以下是如何使用cron
和nohup
来实现定时任务的步骤:
编辑crontab文件: 打开终端并输入以下命令来编辑当前用户的crontab文件:
crontab -e
添加定时任务: 在打开的crontab文件中,你可以添加一行或多行来定义定时任务。每行代表一个任务,格式如下:
* * * * * nohup /path/to/command > /path/to/output.log 2>&1 &
其中:
*
表示分钟(0-59)*
表示小时(0-23)*
表示日期(1-31)*
表示月份(1-12)*
表示星期几(0-7,其中0和7都表示星期日)例如,如果你想要每天凌晨2点运行一个名为my_script.sh
的脚本,并将其输出重定向到一个日志文件/var/log/my_script.log
,你可以添加如下行:
0 2 * * * nohup /path/to/my_script.sh > /var/log/my_script.log 2>&1 &
保存并退出:
编辑完成后,保存文件并退出编辑器。通常可以通过按Ctrl+X
,然后按Y
确认保存,最后按Enter
退出。
验证定时任务: 你可以使用以下命令来查看当前用户的crontab任务列表:
crontab -l
确保你添加的任务已经正确列出。
检查日志文件: 定时任务运行后,你可以检查指定的日志文件来确认任务是否成功执行。例如:
tail -f /var/log/my_script.log
通过以上步骤,你就可以使用nohup
和cron
在Linux中实现定时任务了。