在 CentOS 中,要使用 nohup 命令实现定时任务,你需要结合 cron 服务来实现。以下是具体步骤:
打开终端。
输入 crontab -e
命令来编辑当前用户的 crontab 文件。如果你想为其他用户设置定时任务,请使用 sudo crontab -u username -e
命令。
在打开的 crontab 文件中,按照 cron 的语法添加一行定时任务。cron 的语法格式如下:
* * * * * command-to-be-executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday to Saturday; 7 is also Sunday)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
例如,如果你想每天凌晨 1 点运行一个名为 my_script.sh
的脚本,该脚本位于 /home/username/scripts/
目录下,你可以添加以下行:
0 1 * * * nohup /home/username/scripts/my_script.sh > /home/username/logs/my_script.log 2>&1 &
这里的 nohup
命令会在后台运行脚本,>
将标准输出重定向到日志文件,2>&1
将标准错误重定向到标准输出,&
让命令在后台运行。
保存并关闭 crontab 文件。
使用 crontab -l
命令查看当前用户的定时任务列表,确认你的任务已添加。
现在,你的定时任务已经设置好了。Cron 服务会根据你设置的时间自动执行 nohup 命令。