在RockyLinux系统中,除了传统的 cron 工具外,systemd 定时器(timer) 是一种更现代、功能更强大的定时任务管理方式。本教程将从零开始,教您如何编写和使用 RockyLinux 定时器单元文件,即使是 Linux 新手也能轻松上手。
systemd 是 RockyLinux 默认的初始化系统和服务管理器。它不仅用于启动服务,还提供了 .timer 单元来替代或补充传统的 cron。相比 cron,systemd 定时器具有以下优势:
每个 systemd 定时任务由两个文件组成:
这两个文件必须同名,只是扩展名不同。例如:backup.service 和 backup.timer。
假设我们要每天凌晨2点执行一个备份脚本 /opt/scripts/backup.sh。
创建文件 /etc/systemd/system/backup.service:
[Unit]Description=Daily Backup Script[Service]Type=oneshotExecStart=/bin/bash /opt/scripts/backup.shUser=root
创建文件 /etc/systemd/system/backup.timer:
[Unit]Description=Run backup daily at 2 AM[Timer]OnCalendar=*-*-* 02:00:00Persistent=true[Install]WantedBy=timers.target
关键参数说明:
OnCalendar=:使用类似 cron 的语法,但更灵活。这里表示每天 02:00 执行。Persistent=true:如果系统在预定时间关机,开机后会立即补执行一次。WantedBy=timers.target:确保定时器在系统启动时被激活。运行以下命令:
# 重新加载 systemd 配置sudo systemctl daemon-reload# 启用并启动定时器sudo systemctl enable --now backup.timer
查看所有活动的定时器:
systemctl list-timers --all
查看服务日志(用于调试):
journalctl -u backup.service -f
| 表达式 | 含义 |
|---|---|
| *-*-* 03:00:00 | 每天凌晨3点 |
| Mon *-*-* 09:00:00 | 每周一上午9点 |
| *-*-01 00:00:00 | 每月1号午夜 |
| hourly | 每小时(简写) |
通过本教程,您已经掌握了在 RockyLinux 中使用 systemd 定时器 创建自动化任务的方法。相比传统 cron,systemd 定时器提供了更强大的功能和更好的系统集成体验。无论是日常运维、数据备份还是日志清理,合理使用 定时任务配置 都能极大提升您的 RockyLinux系统管理 效率。
现在,您可以尝试创建自己的定时器单元文件,让系统自动为您工作!
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127486.html