如何创建systemd定时任务
1. 如何创建一个定时任务,通过systemd系统
- 1. 如何创建一个定时任务,通过systemd系统
- 1.1. systemd中的timer
- 1.2. 自定义定时任务
- 1.2.1. 具体步骤
- 1.2.2. [Timer]区块属性详情
- 1.3. 删除定时器
Linux中,可以使用crontab创建一个定时任务。
首先,创建一个crontab文件,形如
# 每天的6点42分,运行一次spmake脚本
42 6 * * * /home/luzj/bin/spmake
紧接着,执行crontab file
即可安装该文件。之后定时任务即开起
使用crontab -l
列出所有在crontab管理下的定时任务,crontab -r xxx
删除定时任务
1.1. systemd中的timer
systemd通过定义一个timer
单元来创建一个定时任务。实际上我们需要做两件事,首先定义一个service
单元,
这个service
单元定义了我们想定时执行的任务。然后再定义一个timer
单元,通过timer
单元定义如何定时执行
之前的service
单元,比如每1h执行一次、每天5点执行、每个月的16号6点执行等等
1.2. 自定义定时任务
我们自定义一个定时任务——每过30s就向msg.txt
输入当前时间
1.2.1. 具体步骤
首先,创建一个mail.sh脚本.
vim mail.sh# 内容
#!/bin/bash
echo `date` >> msg.txt#添加执行权限
chmod +x mail.sh
我们先执行一遍,bash mail.sh
,就会看到当前时间被写入msg.txt
之中了
创建Service单元.进入/etc/systemd/system
目录中,创建mytimer.service
文件,
vim mytimer.service#写入内容
[Unit]
Description=mytimer service[Service]
ExecStart=/bin/bash <path>/mail.sh# 这里可以不添加[Install]区块,因为该Service是为Timer单元服务的
之后,启动Service单元,systemctl start mytimer.service
.然后就会看到,当前时间
被写入到msg.txt
之中了
创建Timer单元.同样的目录,创建mytimer.timer
文件,
vim mytimer.timer#内容如下
[Unit]
Description=run mail.sh every 10s[Timer]
OnUnitActiveSec=10s
Unit=mytimer.service[Install]
WantedBy=multi-user.target
启动Timer单元.
systemctl daemon.reload
systemctl enable mytimer.timer
systemctl start mytimer.timer#查看timer运行状态
systemctl status mytimer.timer
tail -f msg.txt # 查看打印情况,每10s会打印一次,我的实测 时间间隔不是很精确哈
journalctl -f -u mytimer.timer # 查看定时器运行日志
1.2.2. [Timer]区块属性详情
OnActiveSec:定时器生效后,多少时间开始执行任务
OnBootSec:系统启动后,多少时间开始执行任务
OnStartupSec:Systemd 进程启动后,多少时间开始执行任务
OnUnitActiveSec:该单元上次执行后,等多少时间再次执行
OnUnitInactiveSec: 定时器上次关闭后多少时间,再次执行
OnCalendar:基于绝对时间,而不是相对时间执行
AccuracySec:如果因为各种原因,任务必须推迟执行,推迟的最大秒数,默认是60秒
Unit:真正要执行的任务,默认是同名的带有.service后缀的单元
Persistent:如果设置了该字段,即使定时器到时没有启动,也会自动执行相应的单元
WakeSystem:如果系统休眠,是否自动唤醒系统
具体可以看官方文档
1.3. 删除定时器
systemctl disable mytimer.timer #关闭开机启动(即删除目录链接)
systemctl stop mytimer.timer # 关闭单元
systemctl stop mytimer.service#之后删除timer 和Service文件systemctl daemon-reload # 重新加载配置
参考
Systemd 定时器教程-阮一峰
转载于:https://www.cnblogs.com/Franken-Fran/p/timer_make.html
如何创建systemd定时任务相关推荐
- navicat创建MySql定时任务详解
目录 navicat创建MySql 定时任务详解 一.开起定时任务 二.通过navicat创建定时任务 三.关闭.启动.别名.移动.删除event 四.查询Event信息 navicat创建MySql ...
- 定时任务:创建静态定时任务、动态定时任务
定时任务有三种实现 1 jdk自带的定时任务 2 Quartz插件实现的定时任务,需要引入额外的包 3 SpringTask定时调度,是对jdk的再一次封装,不用引入其他包了,用spring的包就自带 ...
- SpingBoot中创建动态和静态定时任务
1,静态定时任务 1,创建静态定时任务类,位置放在启动类同级目录或者子包下面,方便扫描到定时任务类上的注解. 2,静态定时任务类需要三个注解:@Configuration,标记该类 ...
- navicat创建mysql定时任务_navicat创建MySql定时任务的方法详解
navicat创建MySql 定时任务详解 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的" ...
- navicat mysql 计划任务_navicat创建MySql定时任务的方法详解
navicat创建MySql 定时任务详解 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的" ...
- oracle如何创建一个定时任务,怎么创建定时任务
如何创建定时任务? 本帖最后由 minl 于 2013-11-27 14:16:37 编辑 使用dbms_scheduler这个包,但是创建完后似乎不执行. begin DBMS_SCHEDULER. ...
- docker下创建crontab定时任务失败
创建过程 基础镜像采用的centos7.2,需要安装一下crontab,在dockerfile中加以下语句就可以了: # crontab jobs RUN yum -y install crontab ...
- SpringBoot 动态创建多定时任务
需求: 前端发起Socket请求,订阅K线数据,[参数:1min 5min....] 后端根据参数创建定时任务,并定时将数据推送到前端 实现如下: 实现了socket连接即创建定时任务 socket关 ...
- JFinal和JBoot创建一个定时任务
在Spring环境下, 用SpringTask就可以很好的实现定时任务了, 但是如果是用的JFinal和JBoot, 怎么来实现定时任务呢? 1. 第一种方式 1.1 引入依赖 <!--定时任务 ...
最新文章
- MAX487制作RS485总线接口模块
- php switch换界面,php switch的“高级”用法详解
- pythonweb开发-如何用Python做Web开发?——Django环境配置
- 运动学与雅可比矩阵举例
- GEEK学习笔记— —程序猿面试宝典笔记(二)
- matlab gm 1 1,MATLAB 如何用GM(1,1)做预测?请大神帮忙!
- idea系列主题推荐:material theme ui(Dracula)
- struts2中改变struts.xml默认路径
- nssl1323,jzoj(初中)2107-交流【dfs,容斥,组合数】
- Base64的编码实现原理攻略
- jira 查找issue_JIRA使用教程:高级搜索—字段参考4/4
- 计算机二级考试办公室高级应用考点,全国计算机二级考试MSOFFICE高级应用考点解析Word1...
- 鸿蒙电脑操作系统下载,电脑操作系统下载,鸿蒙电脑操作系统下载
- Proteus总线连接心得
- 关于本博客博皮的几点改进与释疑
- 无盘服务器chkdsk *: /f)修复命令,让你的电脑运行更快点 使用CHKDSK/F磁盘修复命令...
- HTML和CSS总结(基础版)
- Caysn打印机安卓平台开发包接口说明文档及打印示例程序_20170609
- VMX(1) -- 简介
- 如何快速高效的进入新的知识领域
热门文章
- 斯坦福CS224n、CMU NLP公开课 播放地址
- Docker学习(六)-----Docker数据卷
- sklearn数据处理_one_hot
- pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
- LeetCode简单题之买卖股票的最佳时机
- 深度学习模型轻量化(下)
- 2021年大数据HBase(六):HBase的高可用!【建议收藏】
- 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
- Django 视图URLconf3.1
- Android ScrollView 滑动指定的距离