linux 18 定时任务
1.什么是定时任务
类似于日常生活中的闹钟
用于定时执行某些命令,从而达到定时处理数据的作用
2、定时任务的软件的种类
1.linux自带的软件:crontab --分 --小公司
2.第三方定时任务软件:atd、anacron (基本不用) --钟
3.web定时软件,通过浏览器操作,图形化界面来操作定时任务 PPGo_Job -----级 --稍微有点规模的
4.基于etcd的定时任务系统 公司自己开发的 --毫秒级 --再大一点公司
3、怎么加定时任务 定时任务的基本应用
1.定时任务加在哪里
1.1放在如下目录里,执行的命令必须放在一下目录中的文件里面 同时加上可执行权限
/etc/cron.hourly 每小时执行一次
/etc/cron.daily/ 每天执行一次
/etc/cron.weekly/ 每周执行一次
/etc/cron.monthly/ 每月执行一次
1.2定时任务的配置文件
/etc/crontab
[root@localhost etc]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
1.3定时任务编写文件
#crontab -e 编辑定时任务 (这里面 用户可以省略 默认当前用户)
54 15 * * * touch /opt/1.txt
#crontab -l 查看当前用户定时任务
[root@localhost etc]# crontab -l
#Timing synchronization time
0 */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
54 15 * * * touch /opt/1.txt
2.用户创建定时任务
2.1crontab表达式
分钟(0-59) 小时(0-23) 每月天数(1-31) 月份(1-12) 星期(0-6)或者(1-7) 0 或者7 都表示周日
*:代表所有,每
user-name:执行这个定时任务的用户
#案例:要求在每天凌晨三点45执行一次
45 3 * * *
#案例:要求在每天凌晨3:45以root用户执行一次/root/1.sh一次
45 3 * * * root root/1.sh
2.2定时任务并保存的路径
所有用户定时任务都保存在这个目录中
增加定时任务时,在改目录添加以自己名字 命名的文件,并将定时任务保存在里面
/var/spool/cron/下面的以用户名为名字的文件
4.加定时任务可能会出现的提示信息
no crontab for test02 没有任何定时任务,crontab-l执行出来的
crontab: installing new crontab 新增定时任务成功,并在var/spool/cron下新增以自己名字 命名的文件
Do you want to retry the same edit? 编写的定时任务可能会出现错误, 输入y or n 是否继续
4.定时任务的日志
当定时任务出错的时候,需要去定时任务日志文件
var/log/cron 可以查询到执行了那些定时任务
var/log/messages 记录系统操作的日志
5.定时任务#的各种格式
案例1:要求每分钟执行一次
* * * * *
案例2:要求每天的凌晨3点执行一次
0 只执行一次 如果是*每分钟都执行一次
0 3 * * *
案例3:要求每天上午7,9,12点各执行一次
0 7,9,12 * * *
案例4:要求每个季度凌晨三点执行一次
0 3 0 1,4,7,10 *
案例5:要求在每天上午的7点每隔2分钟执行一次(0分钟的时候不执行 从0开始计算 ,上个小时如果不够到了59分钟,下一次也是从0开始计算)
*/2 7 * * *
案例6:要求每个月的1号的星期一执行一次
0 0 1 * 1
案例7:要求每天的8 - 11点每隔5分钟执行一次
*/5 8-11 * * *
案例8:要求每天的21点到凌晨3点,每隔5分钟执行一次
*/5 21-3 * * *
*/5 21-23,0-3 * * *
案例9:要求每天上午7点开始到23点,每隔两分钟执行一次
*/2 7-23 * * *
案例10:要求每天上午7点开始,每隔两小时的两分钟执行一次
*/2 7-23/2 * * *
案例11:要求工作日(1,5)的7点和下午两点执行一次
0 7,14 * * 1,5