文章目录
- 一,什么是[systemd]
- 二,任务步骤
- 1,编写任务脚本文件mytimer.sh
- 2,编写任务[单元文件](https://blog.csdn.net/m0_60511809/article/details/132775763?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171257902616800184167043%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171257902616800184167043&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-132775763-null-null.142%5Ev100%5Epc_search_result_base4&utm_term=%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187),命名boot_backup.service,保存在/etc/systemd/system目录中。
- 3,编写一个[定时器单元文件](https://blog.csdn.net/q1009020096/article/details/127904407?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171257938416800225548702%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171257938416800225548702&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-127904407-null-null.142%5Ev100%5Epc_search_result_base4&utm_term=%E5%AE%9A%E6%97%B6%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187),可将其命名为boot_backup.timer,保存在/etc/systemd/system目录中。
- 4,分别执行以下命令使新建的定时器能开机自启,并启动定时器,查看是否启动成功:
- 三,小结
一,什么是[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系统中的定时任务,使得用户可以轻松地安排任务的执行时间和频率,以满足不同的需求。