在 Linux 中,nohup 命令通常用于在后台运行程序,使其在用户退出登录后继续运行。然而,nohup 本身并不提供定时任务的功能。要实现定时任务,你可以结合使用 cron 和 nohup。
以下是通过 cron 和 nohup 实现定时任务的步骤:
打开终端。
输入 crontab -e 命令来编辑当前用户的 cron 配置文件。如果这是你第一次使用 crontab,它可能会提示你选择一个文本编辑器。
在打开的 cron 配置文件中,添加一行来定义你的定时任务。cron 的时间格式为:* * * * * command-to-be-executed,其中每个星号代表一个时间单位(分钟、小时、日期、月份和星期)。例如,如果你想每天凌晨 1 点运行一个名为 my_script.sh 的脚本,你可以添加以下行:
0 1 * * * nohup /path/to/your/script/my_script.sh > /dev/null 2>&1 &
这里,nohup 命令用于在后台运行脚本,> 将标准输出重定向到 /dev/null(丢弃输出),2>&1 将标准错误重定向到标准输出(也丢弃错误输出),最后的 & 符号表示将任务放入后台运行。
保存并关闭 cron 配置文件。现在,你的定时任务已经设置好了。
要查看当前用户的 cron 任务列表,可以在终端中输入 crontab -l 命令。
注意:确保你的脚本具有可执行权限。如果没有,可以使用 chmod +x /path/to/your/script/my_script.sh 命令为脚本添加可执行权限。