在 Debian 系统中,你可以使用 systemd
定时器来定时启动服务或执行任务
首先,你需要创建一个 systemd 服务文件,该文件将定义要定时执行的任务。服务文件通常位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-timer.service
的服务文件:
sudo nano /etc/systemd/system/my-timer.service
在打开的编辑器中,添加以下内容(根据你的需求进行修改):
[Unit]
Description=My custom timer
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
这里,Description
是对服务的描述,ExecStart
是要执行的脚本或命令的路径。
接下来,创建一个 systemd 定时器文件,该文件将定义定时任务的触发规则。定时器文件通常也位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-timer.timer
的定时器文件:
sudo nano /etc/systemd/system/my-timer.timer
在打开的编辑器中,添加以下内容(根据你的需求进行修改):
[Unit]
Description=Run my-timer.service every day at 10 AM
[Timer]
OnCalendar=*-*-* 10:00:00
Persistent=true
[Install]
WantedBy=timers.target
这里,OnCalendar
定义了定时任务的触发规则,Persistent
表示即使系统在定时任务触发时尚未运行,也会在系统下次启动时补发任务。
保存并关闭编辑器后,运行以下命令启用并启动定时器:
sudo systemctl enable --now my-timer.timer
要查看定时器的状态,可以使用以下命令:
sudo systemctl list-timers --all
这将显示所有已配置的定时器及其状态。你还可以使用 sudo systemctl status my-timer.timer
查看特定定时器的详细状态。
现在,你的定时任务已经设置好了,它将根据指定的时间规则自动执行。