【linux】定时任务讲解
文章目录
- 一. 在某时刻只执行一次:at
- 1. 设置定时任务
- 2. 查看和删除定时任务
- 二. 周期性执行任务:cron
- 1. 启动crond进程
- 2. 编辑定时任务
- 3. 查看和删除
- 4. 用户权限
- 4.1. 黑名单
- 4.2指定用户
- 三. /etc/crontab的管理
一. 在某时刻只执行一次:at
1. 设置定时任务
比如从现在开始,设置30分钟后自动关机,这时就可以使用at命令
[root@localhost ~]# at now + 30 minutes
at> /sbin/shutdown-h now
at> <EOT>
job 1 at 2012-11-06 23:39
第一行是定义从现在开始算,30分钟后安排一个任务;
第二行是到了时间后执行关机操作;
第三行是 < EOT>,这不是使用键盘输入的,而是使用了组合键Ctrl+D,表示输入结束;
第四行是系统提示有一个任务将在23:39被执行。
使用at还可以安排在具体的时间执行任务,比如说在午夜12点实现自动关机,如下所示:
[root@localhost ~]# at 00:00 2012-11-07
at> /sbin/shutdown-h now
at> <EOT>
job 2 at 2012-11-07 00:00
[root@localhost ~]# atq
2 2012-11-07 00:00 a root
2. 查看和删除定时任务
可以使用atq命令查看当前使用at命令调度的任务列表,其中第一列是任务编号。
也可以使用atrm删除已经进入任务队列的任务,再使用atq查询时,发现已经没有任务列表了,如下所示:
[root@localhost ~]# atq
1 2012-11-06 23:39 a root #查询at的任务队列,第一个数字代表该任务的标号[root@localhost ~]# atrm 1 #删除标号为1的任务
二. 周期性执行任务:cron
有一些任务是需要周期性执行的,比如说每天早晨的闹钟会在设定的时间准时响起。在Linux中,可以利用cron工具做这种设置。
1. 启动crond进程
首先需要确定crond进程在运行,如果没有运行,需要先启动该进程。
[root@localhost ~]# service crond start
Starting crond: [ OK ]
[root@localhost ~]# service crond status
crond (pid 3257) is running...
2. 编辑定时任务
用户可通过crontab来设置自己的计划任务,并使用-e参数来编辑任务。进入编辑模式后,需要编辑执行的时间和执行的命令。
* * * * * command
前面5个*可以用来定义时间,
第一个 * 表示分钟,可以使用的值是1~59,每分钟可以使用和/1表示;
第二个 * 表示小时,可以使用的值是0~23;
第三个 * 表示日期,可以使用的值是1~31;
第四个 * 表示月份,可以使用的值是1~12;
第五个 * 表示星期几,可以使用的值是0~6,0代表星期日;
一些例子
* * * * * service httpd restart
*/1 * * * * service httpd restart
#这两种写法其实是一致的,都是每分钟重启httpd进程。请注意,这只是一个例子,
除非你有确定的目的,否则不要在实际生产环境中这么设置
* */1 * * * service httpd restart
#每小时重启httpd 进程* 23-3/1 * * * service httpd restart
#从23点开始到3点,每小时重启httpd 进程30 23 * * * service httpd restart
#每天晚上23点30分重启httpd进程30 23 1 * * service httpd restart
#每月的第一天晚上23点30分重启httpd进程30 23 1 1 * service httpd restart
#每年1月1日的晚上23点30分重启httpd进程30 23 * * 0 service httpd restart
#每周日晚上23点30分重启httpd进程
3. 查看和删除
设置完成后,可以使用crontab -l查看设置的任务,也可以使用crontab -r删除所有的任务,如下所示:
[root@localhost ~]# crontab -l
30 23 * * 0 service httpd restart
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab -l
no crontab for root
4. 用户权限
4.1. 黑名单
如果由于特殊的原因需要禁止某些用户使用这个功能,可以将该用户的用户名添加至/etc/cron.deny
中。
4.2指定用户
普通用户只可以设置、查看、删除自己的计划任务,root可以使用-u参数查看指定用户的任务。
比如root可以查看用户john的任务列表:
[root@localhost ~]# crontab -u john -l
三. /etc/crontab的管理
系统也有自己的例行任务,而其配置文件是/etc/crontab。看一下这个文件的内容:
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
相关文章:
【linux】定时任务讲解
文章目录 一. 在某时刻只执行一次:at1. 设置定时任务2. 查看和删除定时任务 二. 周期性执行任务:cron1. 启动crond进程2. 编辑定时任务3. 查看和删除4. 用户权限4.1. 黑名单4.2指定用户 三. /etc/crontab的管理 一. 在某时刻只执行一次:at 1…...

安卓10创建文件夹失败
最近在做拍照录像功能,已经有了文件读写权限,却发现在9.0手机上正常使用,但是在安卓12系统上根本没有创建文件夹。经过研究发现,创建名称为“DCIM”的文件夹可以,别的又都不行。而且是getExternalStorageDirectory和ge…...
文件操作(c/c++)
文件操作可以概括为几步: 打开文件,写入文件,读取文件,关闭文件 FILE FILE 是一个在C语言中用于文件操作的库函数,它提供了一系列函数来实现文件的创建、打开、读取、写入、关闭等操作。FILE 库函数可以帮助开发者处理…...

设计模式-适配器
文章目录 一、简介二、适配器模式基础1. 适配器模式定义与分类2. 适配器模式的作用与优势3.UML图 三、适配器模式实现方式1. 类适配器模式2. 对象适配器模式3.类适配器模式和对象适配器模式对比 四、适配器模式应用场景1. 继承与接口的适配2. 跨平台适配 五、适配器模式与其他设…...

C. Queries for the Array - 思维
分析: 分析出现矛盾的地方,也就是可能遇到0,并且已有字符串的长度小于等于1,另一种情况就是,遇到了1并且已有字符串不是排好序的,或者遇到了0已有字符串是排好序的,那么可以遍历字符串ÿ…...

音频——硬件拓扑
文章目录 硬件拓扑I2S 数据通路五线模式四线模式两线 TX两线 RX 典型应用硬件连接数据流 硬件拓扑 控制路径:UART/I2C/SPI数据路径:I2S 简略图如下 I2S 数据通路 五线模式 四线模式 两线 TX 两线 RX 典型应用 硬件连接 控制信号:SPI 用…...
Oracle表索引查看方法总结(查看oracle表索引)
Oracle表索引查看方法总结 Oracle是当前应用最广泛的关系数据库,也是多数大型企业使用的数据库。Oracle表索引在提高查询效率方面起着至关重要的作用,掌握该方法也是技术人员必备技能之一。本文总结了几种常见的查看Oracle表索引信息的方法,…...

react css 污染解决方法
上代码 .m-nav-bar {background: #171a21;.content {height: 104px;margin: 0px auto;} }import React from "react"; import styles from ./css.module.scssexport default class NavBar extends React.Component<any, any> {constructor (props: any) {supe…...

volatile 关键字 与 CPU cache line 的效率问题
分析&回答 Cache Line可以简单的理解为CPU Cache中的最小缓存单位。目前主流的CPU Cache的Cache Line大小都是64Bytes。假设我们有一个512字节的一级缓存,那么按照64B的缓存单位大小来算,这个一级缓存所能存放的缓存个数就是512/64 8个。具体参见下…...

又一关键系统上线,理想车云和自动驾驶系统登陆OceanBase
8 月 1 日,理想汽车公布 7 月交付数据,理想汽车 2023 年 7 月共交付新车 34,134 辆,同比增长 227.5%,并已连续两个月交付量突破三万。至此,理想汽车 2023 年累计交付量已经达到 173,251 辆,远超 2022 年全年…...

SIEM(安全信息和事件管理)解决方案
什么是SIEM 安全信息和事件管理(SIEM)是一种可帮助组织在安全威胁危害到业务运营之前检测、分析和响应安全威胁的解决方案,将安全信息管理 (SIM) 和安全事件管理 (SEM) 结合到一个安全管理系统中。SIEM 技术从广泛来源收集事件日志数据&…...
Go 自学:map关联数组
以下代码展示了如何建立一个map。 我们可以使用delete删除map中的元素。 我们还可以使用loop遍历map中的所有元素。 package mainimport ("fmt" )func main() {languages : make(map[string]string)languages["JS"] "Javascript"languages[&qu…...
c#多态(override)的使用
方法重写(override):多态,通过父类类型对象,调用子类当中对应方法的实现。 细节:子类当中的override方法会“抹杀”父类当中对应virtual方法 不使用多态时,父类调用子类方法时,会调用父类的方法…...
kafka 动态扩容现有 topic 的分区数和副本数
文章目录 [toc]创建一个演示 topic生产一些数据使用消费者组消费数据增加分区无新数据产生,有旧数据未消费有新数据产生,有旧数据未消费 增加副本创建 json 文件使用指定的 json 文件增加 topic 的副本数使用指定的 json 文件查看 topic 的副本数增加的进…...
【数据结构】Golang 实现单链表
概念 通过指针将一组零散的内存块串联在一起 , 把内存块称为链表的“结点”。 记录下个结点地址的指针叫作后继指针 next ,第一个结点叫作头结点,把最后一个结点叫作尾结点 。 代码实现 定义单链表 在 golang 中可以通过结构体定义单链表…...

云服务器利用Docker搭建sqli-labs靶场环境
一、安装宝塔面板 使用xshell、electerm、SecureCRT等远程终端连接登陆上云服务器,在Linux宝塔面板使用脚本安装 安装后,如下图:按照提示,在云服务器防火墙/安全组放行Linux宝塔面板的端口 在浏览器打开上述网址,登…...
jQuery成功之路——jQuery介绍和jQuery选择器概述
一、jQuery介绍 1.1 jQuery概述 jQuery的概述 jQuery是一个快速、简洁的JavaScript框架。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。JQuery封装了JavaScript常用的功能代码,提供了一套易于使…...

极限五分钟,在宝塔中用 Docker 部署升讯威在线客服系统
最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。 客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消息,系统稳定无异常无掉线,客服回复消息正常。消息实时到达无任何延迟。 本文…...
Java--静态字段与静态方法
1、静态字段 如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态的实例字段,每个对象都有自己的一个副本。 例如: class Employee {private static int nextId 1;private int id;... }其中,每一个Employee对…...

多线程的五种“打开”方式
1 概念 1.1 线程是什么?? 线程(Thread)是计算机科学中的一个基本概念,它是进程(Process)中的一个执行单元,负责执行程序的指令序列。线程是操作系统能够进行调度和执行的最小单位。…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...