nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。要将 nohup 命令与 cron 定时任务结合使用,请按照以下步骤操作:
打开终端。
输入 crontab -e 命令以编辑当前用户的 cron 表。如果需要使用其他用户的 cron 表,请使用 sudo crontab -u username -e。
在打开的 cron 表中,添加一行新的定时任务。cron 表的每一行都表示一个定时任务,其格式如下:
* * * * * command-to-be-executed
- - - - -
| | | | |
| | | | ----- Day of the week (0 - 7) (Sunday to Saturday; 7 is also Sunday)
| | | ------- Month (1 - 12)
| | --------- Day of the month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
nohup 命令以及要执行的程序和参数。例如,如果您希望每天凌晨 1 点运行名为 my_script.sh 的脚本,可以使用以下命令:0 1 * * * nohup /path/to/my_script.sh >/dev/null 2>&1 &
这里,>/dev/null 2>&1 将程序的标准输出和标准错误重定向到 /dev/null,即丢弃所有输出。& 符号将程序放入后台运行。
cron 表。现在,您的定时任务已经设置好了,将在指定的时间使用 nohup 命令运行程序。注意:确保您的脚本具有可执行权限。如果尚未设置,请使用 chmod +x /path/to/my_script.sh 命令为脚本添加可执行权限。