Linux 中的 Systemd Timers 替换 Cron 做定时任务
在Linux系统中,使用Systemd Timers替代Cron进行定时任务的处理是一种更为现代和灵活的方式。下面是一个创建Systemd Timer的示例:
- 创建一个新的Systemd服务单元(例如
my-timer-service.service
):
[Unit]
Description=My Timer Service
[Service]
Type=simple
ExecStart=/usr/bin/echo "Timer service ran at $(date)" >> /var/log/my-timer-service.log
[Install]
WantedBy=multi-user.target
- 保存这个服务单元到
/etc/systemd/system/
目录。 - 创建Systemd Timer(例如
my-timer.timer
):
[Unit]
Description=My Timer
[Timer]
OnCalendar=*-*-* *:*:0
[Install]
WantedBy=timers.target
这里 OnCalendar
指定了每分钟执行一次。
- 保存这个timer到
/etc/systemd/system/
目录。 - 启用并启动timer:
sudo systemctl enable my-timer.timer
sudo systemctl start my-timer.timer
- 检查服务日志确认定时任务正在按预期执行:
sudo journalctl -u my-timer-service.service
这个示例创建了一个简单的Systemd服务和timer,服务将日志写入到指定的日志文件中,timer定义了服务执行的频率。通过这种方式,你可以更为灵活地管理和调度你的定时任务。
评论已关闭