Linux教程

linux 18 定时任务

本文主要是介绍linux 18 定时任务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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		

这篇关于linux 18 定时任务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!