温馨提示×

ubuntu定时器怎样写脚本

小樊
39
2026-10-01 04:17:03
栏目: 智能运维

在 Ubuntu 里“定时器写脚本”通常有两种常见方式,取决于你说的定时器是指哪一种:


一、使用 cron(最常用,系统级/用户级定时任务)

1️⃣ 编辑定时任务

crontab -e

如果是系统任务:

sudo crontab -e

2️⃣ 写脚本(示例)

创建一个脚本文件:

mkdir -p ~/scripts
nano ~/scripts/backup.sh

内容示例:

#!/bin/bash
echo "$(date) 备份执行" >> ~/backup.log

赋予执行权限:

chmod +x ~/scripts/backup.sh

3️⃣ 在 crontab 中定时执行

格式:

分 时 日 月 周 命令

示例(每天凌晨 2 点执行):

0 2 * * * /home/youruser/scripts/backup.sh

示例(每 5 分钟执行):

*/5 * * * * /home/youruser/scripts/backup.sh

⚠️ 注意:

  • 路径用绝对路径
  • 环境变量可能不完整,必要时写全路径

二、使用 systemd timer(更现代,适合服务)

1️⃣ 写服务文件

sudo nano /etc/systemd/system/mytimer.service

内容:

[Unit]
Description=My Timer Script

[Service]
Type=oneshot
ExecStart=/home/youruser/scripts/backup.sh

2️⃣ 写定时器文件

sudo nano /etc/systemd/system/mytimer.timer

内容(每天 2 点):

[Unit]
Description=Run backup daily

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

3️⃣ 启用定时器

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

查看状态:

systemctl list-timers

三、简单对比

方式 适合场景
cron 简单脚本、传统用法
systemd timer 服务化、日志好、可控性强

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

  • 是 用户级还是系统级
  • 想 多久执行一次
  • 脚本是 Shell / Python / 其他

我可以直接帮你写一份完整可用的示例。

0 踩