使用 systemd 定时器调度任务

Posted rtoax

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 systemd 定时器调度任务相关的知识,希望对你有一定的参考价值。

https://www.flatcar-linux.org/docs/latest/setup/systemd/timers/
Flatcar Container Linux 使用 systemd 计时器(cron替换)来调度任务。在这里,我们将向您展示如何安排定期作业。

让我们为这项crontab工作创建一个替代方案:

计时器直接与服务单位一起工作。所以我们必须先创建/etc/systemd/system/date.service

[Unit]
Description=Prints date into /tmp/date file

[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c '/usr/bin/date >> /tmp/date'

然后我们必须创建具有相同名称但带有*.timer后缀的计时器单元/etc/systemd/system/date.timer

[Unit]
Description=Run date.service every 10 minutes

[Timer]
OnCalendar=*:0/10

此配置将date.service10 分钟运行一次。您还可以使用systemctl list-timers命令或systemctl list-timers --all列出系统中启用的所有计时器或列出所有计时器。运行systemctl start date.timer以启用计时器。

您还可以创建具有不同名称的计时器,即task.timer. 在这种情况下,您必须指定服务单元名称:

Unit=date.service

以上是关于使用 systemd 定时器调度任务的主要内容,如果未能解决你的问题,请参考以下文章

Linux 命令详解Systemd 入门教程:使用定时器发送邮件(mail)

laravel 任务调度-即定时任务使用

Hosted Services+Quartz实现定时任务调度

linux之定时任务调度

CPU占用100%的Systemd木马问题解决

laravel 任务调度(定时执行任务)