在 CentOS 系统中,nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。而 cron
是一个定时任务调度器,用于定期执行指定的任务。要将 nohup
命令与 cron
任务结合使用,可以按照以下步骤操作:
打开终端。
输入 crontab -e
命令以编辑当前用户的 cron
任务表。如果这是您第一次使用 crontab
,系统可能会提示您选择一个文本编辑器(如 vi
或 nano
)。
在打开的 cron
任务表中,添加一行新的 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
的脚本,并将输出重定向到名为 output.log
的文件中,您可以添加以下行:
0 1 * * * nohup /path/to/my_script.sh >> /path/to/output.log 2>&1 &
这里,nohup
命令用于在后台运行 my_script.sh
脚本,>> /path/to/output.log
将标准输出追加到 output.log
文件中,2>&1
将标准错误输出重定向到标准输出(即 output.log
文件),最后的 &
符号表示将任务放入后台运行。
cron
任务表。现在,您的 cron
任务已经设置好了,将在指定的时间运行 nohup
命令。注意:请确保 my_script.sh
具有可执行权限。您可以使用 chmod +x /path/to/my_script.sh
命令为脚本添加可执行权限。