创建systemd定时器

一、systemd定时器简介

systemd定时器是Linux系统下用于在特定时间或间隔执行任务的工具。它提供了一种简单的方法来安排和管理后台进程,使得系统管理员能够更加轻松地管理和维护服务器。

systemd定时器的工作原理是基于事件驱动的,它会在指定的时间或间隔触发一个事件,然后执行相应的任务。从触发时间上来看,systemd定时器可以分为单调定时器和实时定时器两种。单调定时器从一个特定的时间(如系统启动或systemd服务单元执行的开始时间)开始后过一段时间触发;而实时定时器则在某个特定的时钟时间触发,类似于cron定时任务。

使用systemd定时器可以替代cron功能,并提供了cron和anacron二者的优点。它允许调度到分钟粒度,并确保在系统再次运行时执行任务,即使在预期的执行时间内系统处于关闭状态。此外,systemd定时器对所有用户都可用,可以在将要运行的环境中测试和调试执行。

配置systemd定时器执行功能至少需要两个文件:“定时器单元(timer unit)”和“服务单元(service unit)”。定时器单元文件定义调度表,而服务单元文件定义执行的任务。

总的来说,systemd定时器是一个强大且灵活的工具,可以帮助系统管理员更好地安排和管理后台任务。

二、systemd定时器单元文件

systemd定时器单元文件是systemd服务管理器的一部分,用于管理和配置定时任务。在systemd中,一个单元(Unit)是一个抽象的概念,可以代表系统上的各种任务或资源,如系统服务、挂载点、设备等。定时器单元文件就是用于定义定时任务的单元文件。

定时器单元文件至少需要与服务单元文件配合使用,因为服务单元文件定义了要执行的具体任务。定时器单元文件则定义了任务的调度表,即何时触发服务单元的执行。这种组合方式使得systemd定时器能够精确地按照预定的时间或间隔执行任务。

每个单元都有一个唯一的名称,用于标识和引用它。在定时器单元文件中,可以通过配置选项来定义触发时间、触发间隔以及其他相关参数。例如,常用的配置选项有“OnBootSec”、“OnUnitActiveSec”等,用于指定在系统启动后多久触发定时器,或者在服务单元上次活跃后多久再次触发定时器。

此外,定时器单元文件还需要指定它所控制的服务单元文件。这可以通过在定时器单元文件的“[Timer]”部分内配置“Unit”选项来实现,将要控制的服务单元文件名写入即可。这样,当定时器触发时,相应的服务单元就会被执行。

总的来说,systemd定时器单元文件是配置和管理定时任务的关键文件,通过合理的配置,可以实现精确的定时任务调度和执行。

三、创建systemd定时器

1.创建一个shell脚本。
在这里创建一个名为shell.sh的脚本

vim shell.sh

让其输入helloword到文件hello.txt中,如下
请添加图片描述

给予脚本可执行权限,并创建文档hello.txt

chmod +x shell.sh
touch hello.txt

请添加图片描述

**2.**编写服务单元文件
创建后缀名为。service的文件在目录/etc/systemd/system/下,如下

vim /etc/systemd/system/hello.service

编写详细内容,如下其中ExecStart指的是脚本的路径
请添加图片描述

3 创建一个定时器单元文件

创建后缀为timer的文件到刚刚的目录中,如下

vim /etc/systemd/system/hello.timer

填写对应内容,如下
请添加图片描述

4重新装载文件
输入

systemctl daemon-reload

请添加图片描述

即可
5开机启动并启动

开机启动

ctl enable hello.timer

启动

ctl start hello.timer

四、启动并查看运行状态

**1.**输入命令启动

systemctl status hello.timer

请添加图片描述

**2.**查看运行状态
输入

tail -f hello.txt

最后就能看到输出的hello word了

请添加图片描述

五、总结

以上便是对sytemd定时器的介绍,这东西靠ai就行了,基本上问得够细就都能解决,甚至还能帮你写一个,总而言之,我只是一个网络上的弱蒟蒻,上面的东西看个乐子进行了。(单纯为了完成作业>^<)
请添加图片描述

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值