Linux 定时任务详解
今天继续给大家介绍Linux基础知识,本文主要内容是Linux定时任务。
一、Linux定时任务简介
计划任务是需要在指定时间执行的任务或者是周期性执行的任务,比如凌晨3点重启设备,每周对日志文件备份等。Linux系统会内置at和cron服务,at服务用来在指定时间执行任务,cron用来周期性执行任务。
二、at一次性任务
at定时任务依赖于Linux系统的atd服务,如果atd服务不开启,则at则不起作用,查看atd服务开启命令如下:
systemctl status atd
如果显示如下,则表示atd服务已经开启:
如果没有atd服务,或者是没有at命令,则可能是系统在最小化安装的时候没有装at,此时我们可以yum安装at软甲,命令如下:
yum install -y at
at定时任务相关文件主要有以下2个:
/etc/at.deny
/etc/at.allow
at.deny表明不允许哪个用户执行at服务,at.allow表明允许哪个用户执行at服务。默认情况下,at.deny文件存在而at.allow文件不存在,而当at.deny和at.allow文件同时存在时,at.allow文件则会失效,只有当at.deny文件不存在时,at.allow文件才会生效。
at命令常用参数如下:
-l 表示列出所有的at定时任务
-d 表示删除指定的at定时任务
-c 表示查看指定的at定时任务
-t 表示后面跟字符串化的时间参数
at命令使用实例如下:
at 00:00
at 2:30pm
at now+10min
at now+3days
at 4pm+4days
at 10 Jan 31
at -t 202111111300
上述命令分别表示凌晨0点执行、下午两点半执行、10分钟以后执行、3天以后执行、4天以后的下午四点执行、1月31号的上午(不指名上午还是下午就使用24h)10点执行和2021年11月11日13点执行。
我们在键入上述命令并回车后,就会进入at任务的交互式界面,此时就可以键入我们的定时任务了。在写完以后,ctrl+d表示保存任务并退出,ctrl+c表示不保存退出。
at定时任务编辑如下:
如果定时任务比较长,我们也可以写成脚本,然后使用输入重定向或者-f参数的方式来编辑,如下所示:
如果我们想删除at定时任务,就可以使用-d参数,删除过程如下所示:
三、cron周期性任务
cron周期性任务依赖于系统后台的crond进程,类似于at,我们也要首先确认cron服务是否开启,执行命令:
systemctl status crond
如果出现如下结果,就表示crond任务已经开启。
cron定时任务分为系统的定时任务和用户的定时任务。
crond定时任务主要文件如下:
1、/var/spool/cron/
该文件主要用于存放用户设置的定时任务,会以用户名来命名,当用户创建cron定时任务时,就会在该目录下生成一个同名文件,该文件存储了用户定时任务的具体信息。
2、/etc/cron.deny /etc/cron.allow
与at定时任务类似,cron.allow存放了运行创建定时任务的用户,而cron.deny则存放了不允许创建定时任务的用户,只有当cron.deny不存在时,cron.allow才会生效。
3、/etc/cron.monthly/
该文件用来存放系统每个月需要执行的脚本
4、/etc/cron.weekly/
该文件用来存放系统每周需要执行的脚本
5、/etc/cron.daily/
该文件用来存放系统每天需要执行的脚本
6、/etc/cron.hourly/
该文件用来存放系统每小时需要执行的脚本
执行命令crontab可以使我们创建定时任务,该命令常用参数如下:
-e 表示新创建或编辑定时任务
-r 表示删除定时任务
-l 表示显示定时任务
因此,执行命令:
crontab -e
即可以创建一个定时任务了。
创建定时任务需要遵循一定的规范, 在crond文件中,前面的五列都代表一个时间,从左到右分别是分钟、小时、天、月、星期,如果不做设置,可以用*跳过,最后一列表示要执行的任务。
在每一列对应的地方写入具体数值就可以表示定时执行,还可以使用短杠表示一段时间,如果*后面加入斜杠,则表示没隔该端时间执行一次。
crond定时任务时间设置示例如下:
0 3 * * *
表示每天3点执行
0 */3 * * *
表示每隔3小时执行
0 3 2 * 3
表示每个月2号的3点或者每周三的3点执行
* * * * *
表示每分钟执行一次
* 1-10 * **
表示每天的1点到10执行
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Linux 定时任务详解相关推荐
- Linux定时任务详解
linux的定时任务crond(crontab)服务 1.crond是什么? crond是linux系统中用来定期执行命令或者指定程序任务的一种服务或软件. 一般在安装完C5/C6系统的时候,cron ...
- Linux的定时任务详解
Linux的定时任务详解 文章目录 一 什么是定时任务? 二 控制定时任务 三 crontab命令 四 实际运用定时任务 五 会遇到的问题及解决方法 5.1 权限问题 5.2 脚本注意问题 一 什么是 ...
- navicat创建MySql定时任务详解
目录 navicat创建MySql 定时任务详解 一.开起定时任务 二.通过navicat创建定时任务 三.关闭.启动.别名.移动.删除event 四.查询Event信息 navicat创建MySql ...
- Linux systemctl 详解自定义 systemd unit
Linux systemctl 详解&自定义 systemd unit systemctl 序 大家都知道,我们安装了很多服务之后,使用 systemctl 来管理这些服务,比如开启.重启.关 ...
- 《Linux命令详解手册》——Linux畅销书作家又一力作
关注IT,更要关心IT人,让系统管理员以及程序员工作得更加轻松和快乐.鉴于此, 图灵公司引进了国外知名出版社John Wiley and Sons出版的Fedora Linux Toolbox: 10 ...
- Linux系统详解 系统的启动、登录、注销与开关机
Linux系统详解 第六篇:系统的启动.登录.注销与开关机 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://johncai.blo ...
- 每天一个linux命令(25):linux文件属性详解
每天一个linux命令(25):linux文件属性详解 Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下 ...
- c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)
用心分享,共同成长 没有什么比每天进步一点点更重要了 本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了 ...
- Linux系统结构 详解
Linux系统结构 详解 标签: 产品产品设计googleapple互联网 2011-01-07 14:14 31038人阅读 评论(6) 收藏 举报 分类: Linux(21) 版权声明:本文为博主 ...
- 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——2.2 DDR2 SDRAM芯片
本节书摘来自异步社区<嵌入式Linux软硬件开发详解--基于S5PV210处理器>一书中的第2章,第2.2节,作者 刘龙,更多章节内容可以访问云栖社区"异步社区"公众号 ...
最新文章
- python读取excel一列-python读取excel(xlrd)
- 多线程读取矩阵文件+多线程矩阵乘法(C++实现)
- 微信分享时,描述内容怎么换行
- Android之如何解决刚下载的Android studio(包括上面的菜单栏)乱码问题
- Storm精华问答 | Storm的配置需要注意什么问题?
- 9. JEB 1.5插件编写一
- 六石管理学:人是不可以被说服的,除非自己想明白
- 整篇文章翻译软件对接谷歌等各大翻译平台
- Javaweb项目 SMBMS 超市订单管理系统:准备工作、登录与注销、修改密码、用户管理
- AngularJS知识概括
- Android-黑客技术-实现类似电脑版软件破解版
- 用svg矢量图实现动画效果
- 弗吉尼亚理工大学计算机科学,美国弗吉尼亚理工大学计算机科学本科.pdf
- 九爷带你玩转 oracle
- c语言rand函数源码路径,C语言中的rand()函数
- (四)Docker网络可视化面板
- Rockchip_Developer_Guide_USB_FFS usb测试demo
- 饮用水铁离子超标,各种溶液铁离子超标去除工艺
- iOS给按钮添加系统声音
- 解决在线视频(如b站等)中没有IDM下载浮动条问题