Linux定时任务(详细)
Linux定时任务
一、首先查看是否安装了crontab
[root@master ~]# rpm -qa |grep crontab
crontabs-1.11-6.20121102git.el7.noarch
出现crontabs-1.11-6.20121102git.el7.noarch代表已经安装
若未安装则执行下面
1.yum install vixie-cron
2.yum install crontabs
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序
crontab服务启动与关闭
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看状态
chkconfig crond on //设置开机自动启动crond服务:
chkconfig –list crond //开机级别的crond服务运行情况 ,2、3、4、5级别开机会自动启动crond服务
chkconfig crond off//取消开机自动启动crond服务:
crontab文件格式:
* * * * *
minute hour day month week command
分 时 天 月 星期 命令
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
“*”代表取值范围内的数字 例如month字段如果是星号,则表示每月都执行该命令操作
“/”代表每,可以指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
“-”代表从某个数字到某个数字 例如“2-6”表示“2,3,4,5,6”
“,”分开几个离散的数字 例如,“1,3,5,7,9”
查询当前用户定时任务或删除当前用户定时任务
crontab -l --列出当前用户定时任务
crontab -r --删除当前用户定时任务(删除所有,除非不再使用,否则没必要使用
写个定时任务例子
例:每隔一分钟向test.txt写入一个"hello"的定时任务
1.先创建一个test.txt文件 touch test.txt
2.再创建一个test.sh vim test.sh
写入:
echo "hello">>/usr/local/test/test.txt
2.1你不像上面这样写也行(看下面3的第二种)
然后esc, :wq退出
[root@master test]# ll test.sh
-rw-r--r-- 1 root root 50 9月 3 19:28 test.sh
[root@master test]# chmod a+x test.sh
[root@master test]# ll test.sh
-rwxr-xr-x 1 root root 50 9月 3 19:28 test.sh
chmod a+x test.sh --给test.sh脚本执行赋权
ll test.sh --查看脚本是否有执行权限
3.写定时任务
crontab -e
*/1 * * * * /usr/local/test/test.txt
第二种避免了写test.sh脚本(*/1 * * * * echo "hello">>/usr/local/test/test.txt)
然后过一会cat test.txt查看文件内容
每次写完定时任务退出之后都会有一个提示:
定时任务:crontab: installing new crontab
注意:用crontab -e 编辑的定时任务三分钟之内是不会执行的,所以在测试的时候,至少时间后推三分钟!
脚本设置
设置脚本
命令行输入:crontab -e 进入后编写想要执行的脚本
*/1 * * * * /usr/..... 每一分钟执行一次
*/5 * * * * /usr/..... 每五分钟执行一次
0 */1 * * * /usr/..... 每小时执行一次
30 1 * * * /usr/..... 每天1:30执行一次
0 23-7/2,8 * * * 晚上11点到早上8点之间每两个小时和早上八点
0 11 4 * 1-3 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
22 4 * * 0 每星期(周日凌晨4:22)执行
42 4 1 * * 每月(1号凌晨4:42)去执行
如果还是不知道每几分钟,几小时,几天…怎么写的看下面直接点击下面
在线查看工具(自己去试几下)
相关定时任务例子(不会结合工具自行查看)
要还是不会,回家种田吧…
种田都需要技术…
如果看的条理不清晰请点击链接到本人CSDN:https://blog.csdn.net/qq_43278189/article/details/120088263
原文地址:https://www.cnblogs.com/liudong-bigdata/p/15224906.html
- JavaScript循环读书笔记
- docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
- HttpClient(一)HttpClient抓取网页基本信息
- Httpd运维日志:通过apxs添加模块
- 探索客户端JavaScript
- docker学习(8) 在mac机上搭建私有仓库
- Jsoup(一)Jsoup详解(官方)
- Ajax几种常用模式
- dubbox升级spring到4.x及添加log4j2支持
- CSS魔法堂:Absolute Positioning就这个样
- MongoDB(一)环境搭建与初始配置
- AI进了直播间,这画风666
- CSS布局:水平居中
- docker学习(4) 一些常用操作
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法