在 Debian 系统中,你可以使用 systemd
的定时器(timer)来设置执行频率。以下是详细步骤:
首先,你需要创建一个服务单元文件,这个文件定义了你想要定时执行的任务。
假设你的任务是一个简单的脚本 my-script.sh
,位于 /usr/local/bin/
目录下。
#!/bin/bash
echo "Hello, World!" >> /var/log/my-script.log
确保脚本有执行权限:
chmod +x /usr/local/bin/my-script.sh
然后,创建一个服务单元文件 /etc/systemd/system/my-service.service
:
[Unit]
Description=My Scheduled Service
[Service]
ExecStart=/usr/local/bin/my-script.sh
接下来,创建一个定时器单元文件 /etc/systemd/system/my-timer.timer
:
[Unit]
Description=Run My Service every hour
[Timer]
OnCalendar=*-*-* *:00:00
Persistent=true
[Install]
WantedBy=timers.target
在这个例子中,OnCalendar=*-*-* *:00:00
表示每小时执行一次。你可以根据需要调整这个时间。
启用定时器,使其在系统启动时自动启动:
sudo systemctl enable --now my-timer.timer
你可以使用以下命令检查定时器的状态:
sudo systemctl list-timers --all
或者查看特定定时器的详细信息:
sudo systemctl status my-timer.timer
如果你需要调整执行频率,可以编辑定时器单元文件 /etc/systemd/system/my-timer.timer
,修改 OnCalendar
行。例如,改为每天凌晨 2 点执行:
OnCalendar=*-*-* 02:00:00
然后重新加载 systemd 配置并重启定时器:
sudo systemctl daemon-reload
sudo systemctl restart my-timer.timer
通过以上步骤,你可以在 Debian 系统中使用 systemd
定时器来设置执行频率。