在 Debian 系统中,你可以使用 systemd
定时器来定时启动任务
首先,你需要创建一个 systemd 服务文件,该文件将定义要执行的任务。通常,服务文件位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-task.service
的文件:
sudo nano /etc/systemd/system/my-task.service
在打开的编辑器中,添加以下内容:
[Unit]
Description=My custom task
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
将 /path/to/your/script.sh
替换为你要执行的脚本的实际路径。保存并关闭文件。
接下来,创建一个 systemd 定时器文件,该文件将定义任务的执行计划。通常,定时器文件也位于 /etc/systemd/system/
目录下。例如,创建一个名为 my-task.timer
的文件:
sudo nano /etc/systemd/system/my-task.timer
在打开的编辑器中,添加以下内容:
[Unit]
Description=Run my-task.service every day at 10:00 AM
[Timer]
OnCalendar=*-*-* 10:00:00
Persistent=true
[Install]
WantedBy=timers.target
在这个例子中,我们设置了每天上午 10 点执行任务。你可以根据需要修改 OnCalendar
行以设置其他时间表。保存并关闭文件。
现在,你需要启用并启动定时器。运行以下命令:
sudo systemctl enable my-task.timer
sudo systemctl start my-task.timer
这将启用定时器并在下次预定时间启动任务。
要检查定时器的状态,可以使用以下命令:
sudo systemctl list-timers --all
这将显示所有已配置的定时器及其状态。找到 my-task.timer
并查看其状态。
如果任务已执行,你可以查看任务的日志以获取更多信息。使用以下命令查看日志:
journalctl -u my-task.service
这将显示与 my-task.service
相关的所有日志条目。