Debian 定时器(systemd timers)是一种特殊的 systemd 服务,用于在特定时间或间隔执行任务
首先,创建一个新的 systemd 服务文件。通常,这些文件位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-timer.service
的文件:
sudo nano /etc/systemd/system/my-timer.service
在文件中添加以下内容,根据需要修改 ExecStart
行以指定要运行的命令或脚本:
[Unit]
Description=My custom timer
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
保存并关闭文件。
接下来,创建一个新的 systemd 定时器文件。通常,这些文件也位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-timer.timer
的文件:
sudo nano /etc/systemd/system/my-timer.timer
在文件中添加以下内容,根据需要修改 OnBootSec
和 OnUnitActiveSec
行以指定定时器的触发条件:
[Unit]
Description=Run my-timer.service on boot and every hour
[Timer]
OnBootSec=5min
OnUnitActiveSec=1h
Persistent=true
[Install]
WantedBy=timers.target
这里,OnBootSec=5min
表示在系统启动后 5 分钟触发定时器,OnUnitActiveSec=1h
表示每隔 1 小时触发一次。Persistent=true
表示如果定时器在系统启动时尚未到期,则在系统启动后立即触发。
保存并关闭文件。
使用以下命令启用并启动定时器:
sudo systemctl enable --now my-timer.timer
这将启用定时器并在系统启动时运行 my-timer.service
。
要检查定时器的状态,可以使用以下命令:
sudo systemctl list-timers --all
这将显示所有已配置的定时器及其状态。找到您的定时器(例如 my-timer.timer
),查看其状态是否为 active
。
现在,您的 Debian 定时器将在系统启动时运行,并根据指定的时间间隔执行任务。