温馨提示×

debian定时器如何开机自启

小樊
38
2026-09-17 00:42:24
栏目: 智能运维

在 Debian 里“定时器”通常有两种常见含义,我分别说明,你可以对号入座。


一、如果是 systemd 定时器(systemd timer)

这是 Debian 10 及以后版本最推荐的方式。

1. 创建 service 和 timer

例如:

# /etc/systemd/system/mytask.service
[Unit]
Description=My Task

[Service]
ExecStart=/usr/local/bin/mytask.sh
# /etc/systemd/system/mytask.timer
[Unit]
Description=Run My Task

[Timer]
OnBootSec=1min
OnUnitActiveSec=1h

[Install]
WantedBy=timers.target

2. 设置开机自启

sudo systemctl daemon-reload
sudo systemctl enable mytask.timer
sudo systemctl start mytask.timer

enable 就是“开机自启”的关键
OnBootSec 可控制开机后多久执行

3. 查看状态

systemctl list-timers
systemctl status mytask.timer

二、如果是 cron @reboot

适合简单脚本。

1. 编辑定时任务

crontab -e

2. 添加开机执行

@reboot /usr/local/bin/mytask.sh

✅ 系统启动后会自动执行一次
⚠️ 依赖 cron 服务:

sudo systemctl enable cron

三、如果是 老旧 init.d 脚本

sudo update-rc.d myscript defaults

(Debian 新版本已不推荐)


推荐总结

场景 推荐方式
现代 Debian ✅ systemd timer
简单脚本 cron @reboot
老旧系统 init.d

如果你愿意,可以告诉我:

  • Debian 版本
  • 是“定时执行”还是“开机执行一次”
  • 要跑的是什么程序

我可以直接帮你写完整配置。

0