****************************************************************************************************************************************************************************************
在程序运行过程中,我们需要定期的利用程序做一些事情,比如检测程序是否运行,运行是否正常,定期统计用户访问量,收集或者采集程序数据,....这些工作可能需要在正常工作时间进行,也有可能是在深夜执行,所以如果人工进行操作的话,会有诸多的不便,导致工作进度难以推进,这时就可以试试设置周期性计划任务。
1.cron介绍:周期性计划任务,即cron。是一个可以用来根据时间、日期、月份、星期的组合来调度对周期性任务执行的守护进程
利用cron所提供的功能,可以将需要周期性重复执行的任务设置为cron任务,并且设置为在主机较空闲的时间(如夜间)自动完成
CentOS中实现cron功能的软件包组成。
这就是对cron的定义,首先cron是一个守护进程,在之前文章中已经提到,进程分为两类,其中之一是守护进程,既然cron属于守护进程,那么它也就具有守护进程的一切特性,随系统的启动而启动,随系统的关闭而关闭;无界面,时刻在后台运行。当然它也有自己的特性,可以将重复执行周期性的任务,非常便于开发人员管理程序。
crontabs软件包实现对Linux系统的定时任务管理功能
2. cron任务的格式
* * * * * 脚本 ,这是cron任务的通用格式,
五个* 分别代表 min 、 hour、day 、month 、dayofweek、command
具体解释如下:
min 分钟,取值为从0到59之间的任意整数
hour 小时,取值为从0到23之间的任意整数
day 日期,取值为从1到31之间的任意整数,当然有的月份没有31或30或29,也没有关系,这个系统会根据当前的系统时间在取值。
month 月份,取值为从1到12之间的任意整数
dayofweek 星期,取值为从0到7之间的任意整数,0或7代表星期日
command 要执行的命令或程序脚本
具体的例如,40 4 3 2 5 run_yearly_cmd 表示在2月3号周五这一天的4点,40分,去执行run_yearly_cmd这一程序,如果不设置的话,可以 用* 代替。
3.使用crontab命令进行设置