温馨提示×

debian定时器如何创建

小樊
46
2026-09-14 00:16:57
栏目: 智能运维

在 Debian(及大多数 Linux 发行版)中,“定时器”通常指 systemd 定时器(systemd timer),这是目前最推荐、最标准的方式。下面从 创建 systemd 定时器 讲起,并补充 cron 作为传统方案。


一、使用 systemd 定时器(推荐)

1️⃣ 创建 service 单元

假设你要定时执行 /opt/backup.sh

sudo vim /etc/systemd/system/backup.service

内容示例:

[Unit]
Description=Backup Script

[Service]
Type=oneshot
ExecStart=/opt/backup.sh

2️⃣ 创建 timer 单元

sudo vim /etc/systemd/system/backup.timer

示例(每天 3:00 执行):

[Unit]
Description=Run backup daily

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
Unit=backup.service

[Install]
WantedBy=timers.target

常用时间写法:

  • OnCalendar=*-*-* 03:00:00(每天 3 点)
  • OnCalendar=hourly
  • OnCalendar=weekly
  • OnCalendar=Mon *-*-* 04:00:00(每周一 4 点)

3️⃣ 启用并启动定时器

sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer

4️⃣ 查看定时器状态

systemctl list-timers
systemctl status backup.timer

二、传统方式:cron(简单任务)

1️⃣ 编辑当前用户定时任务

crontab -e

示例(每天 3 点执行):

0 3 * * * /opt/backup.sh

格式:

分 时 日 月 周 命令

2️⃣ 系统级 cron

sudo vim /etc/crontab

示例:

0 3 * * * root /opt/backup.sh

三、systemd timer vs cron 怎么选?

特性 systemd timer cron
日志 journalctl 邮件/自定义
精度 一般
依赖管理
学习成本 稍高

服务器/生产环境:systemd timer
简单脚本:cron


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

  • 要执行的命令
  • 执行频率
  • Debian 版本

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

0