在 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
命令为脚本添加可执行权限。