在Debian系统中,你可以使用nohup命令结合cron来实现定时任务
打开终端。
输入crontab -e命令来编辑当前用户的cron任务列表。如果你想为其他用户设置定时任务,请使用sudo crontab -u username -e。
在打开的编辑器中,添加一行新的定时任务。每一行都表示一个任务,包含以下六个字段:
* * * * * command-to-be-executed
└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── 星期 (0 - 7) (0和7都是星期天)
│ │ │ └───────────── 月份 (1 - 12)
│ │ └───────────────────── 日期 (1 - 31)
│ └───────────────────────────── 小时 (0 - 23)
└───────────────────────────────────── 分钟 (0 - 59)
例如,如果你想每天凌晨1点运行一个名为my_script.sh的脚本,该脚本位于/home/username/scripts/目录下,你可以添加以下行:
0 1 * * * nohup /home/username/scripts/my_script.sh > /dev/null 2>&1 &
这里,nohup命令确保即使关闭终端,脚本也会继续运行。> /dev/null 2>&1将标准输出和错误输出重定向到/dev/null,即丢弃所有输出。最后的&符号让脚本在后台运行。
保存并关闭编辑器。现在,你的定时任务已经设置好了。你可以使用crontab -l命令查看当前用户的定时任务列表。
注意:在使用nohup命令时,请确保你的脚本具有可执行权限。你可以使用chmod +x /path/to/your/script.sh命令为脚本添加可执行权限。