【systemd定时任务】

一,什么是[systemd]

systemd定时服务是Linux系统中使用systemd的服务管理器来设置和管理定时任务的方法。这主要通过systemd的定时器单元文件来实现,这些文件通常以.timer后缀结尾,并存储在特定的目录中,如/etc/systemd/system或/usr/lib/systemd/system。

定时器单元文件主要由几个部分组成,包括[Unit]和[Timer]等。在[Unit]部分,可以指定定时器的基本配置,如描述和依赖关系。在[Timer]部分,可以通过调整参数来定义任务的执行时间,这些参数支持各种时间格式。例如,OnCalendar参数可以用于定义按照日历时间表触发的任务,而AccuracySec参数则可以用来指定任务的优先级。

要设置和使用systemd定时服务,首先需要创建一个定时器单元文件,并在其中定义任务的执行时间和相关配置。然后,使用systemctl命令加载并启动该定时器单元。一旦定时器单元启动,systemd将按照定义的时间自动执行相应的任务。

二,任务步骤

1,编写任务脚本文件mytimer.sh

#! /bin/bash
 
echo `date` >> /tmp/mylog.txt

结果如下

在这里插入图片描述

2,编写任务单元文件,命名boot_backup.service,保存在/etc/systemd/system目录中。

[Unit]
Description=Backup boot
 
[Service]
Type=simple
ExecStart=/bin/bash /root/mytimer.sh

输入命令,编辑脚本内容

vim /etc/systemd/system/boot_backup.service

结果如下
在这里插入图片描述

3,编写一个定时器单元文件,可将其命名为boot_backup.timer,保存在/etc/systemd/system目录中。

输入以下命令,编辑文本内容`

vim /etc/systemd/system/boot_backup.timer

编辑如下文本内容

Description=Run boot backup weekly and on boot
 
[Timer]
OnUintActiveSec=3s
AccuracySec=1us
Unit=boot_backup.service
 
[Install]
WantedBy=multi-user.target
在这里插入代码片

结果如下
在这里插入图片描述
进入所创建目录,输入以下命令`

cd /etc/systemd/system

输入以下命令,重新装载单元文件。

systemctl daemon-reload

4,分别执行以下命令使新建的定时器能开机自启,并启动定时器,查看是否启动成功:

systemctl enable boot_backup.timer
 
systemctl start boot_backup.timer
 
systemctl status boot_backup.timer

结果如下
在这里插入图片描述
最后输入以下命令查看日志

tail -f /tmp/mylog.txt

结果如下
在这里插入图片描述
如图所示表示任务成功

三,小结

systemd定时服务提供了一种强大而灵活的方式来管理和调度Linux系统中的定时任务,使得用户可以轻松地安排任务的执行时间和频率,以满足不同的需求。

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值