特性 | Systemd Timer | Crontab |
---|---|---|
所属系统 | Systemd 生态系统 | 传统的 Unix/Linux 工具 |
配置方式 | 通过 .timer 和 .service 文件 | 通过 crontab 文件 |
时间精度 | 可精确到微秒级 | 分钟级 |
依赖关系 | 可以依赖其他 systemd 单元 | 独立运行 |
日志记录 | 集成 journald 日志系统 | 通常需要重定向到文件 |
错误处理 | 有更完善的失败处理机制 | 基本无内置错误处理 |
资源控制 | 可设置 CPU/内存限制 | 无内置资源控制 |
跨主机同步 | 支持 | 不支持 |
/etc/systemd/system/backup.service
:[Unit]
Description=Database Backup
[Service]
Type=simple
ExecStart=/usr/local/bin/backup.sh
/etc/systemd/system/backup.timer
:[Unit]
Description=Run backup daily at 2:30AM
[Timer]
OnCalendar=*-*-* 02:30:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable backup.timer
sudo systemctl start backup.timer
crontab -e
30 2 * * * /usr/local/bin/backup.sh
如果系统使用 systemd,建议:
两者可以共存使用,根据具体需求选择最合适的工具。