使用 systemd Timers 执行定时任务

使用 systemd Timers 执行定时任务 在 Linux 系统上,定时任务通常与 cron 关联。cron 简单易用、广泛可用,至今仍有价值。但在使用 systemd 的现代 Linux 发行版上,还有另一个强大的选项:systemd timers。 systemd timer 可以在指定时间、开机后或固定间隔触发服务。与传统 cron 相比,systemd timers 与系统服务管理器集成更紧密、日志更清晰、调度选项更灵活。 本文介绍 systemd timers 的原理与配置方法。 什么是 systemd Timer? systemd timer 是一种单元文件,用于控制另一个 systemd 单元的激活时机。在大多数情况下,timer 激活的是一个 .service 单元。 一个典型的定时任务需要两个文件: /etc/systemd/system/example-task.service /etc/systemd/system/example-task.timer .service 文件定义要执行什么。.timer 文件定义何时执行。这种分离使得 systemd timers 结构清晰、易于管理。 简单示例:每日备份 假设我们要每天执行一次备份脚本。 首先创建脚本: sudo nano /usr/local/bin/daily-backup.sh 示例内容: #!/bin/bash echo "Backup started at Thu Jun 11 11:23:18 2026" >> /var/log/daily-backup.log tar -czf /tmp/etc-backup.tar.gz /etc echo "Backup finished at Thu Jun 11 11:23:18 2026" >> /var/log/daily-backup.log 设置可执行权限: ...

2026年6月11日 · 2 分钟