预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

深入介绍Linux操作系统定时调度系统Cron深入介绍Linux操作系统定时调度系统Croncron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。新增调度任务推荐使用crontab-e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cron文件),退出后重启crond进程,虽然官方文档描述为“crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。”,但我曾经遇到不重启无法运行任务的情况(也许因为某些系统crontab是读到内存中的,修改完/etc/crontab后并没有马上执行),可以使用如下方式重新启动cron服务或重新加载cron配置复制代码代码如下:/etc/rc.d/init.d/crondrestartservicecronreload同样,我们也可以直接修改/etc/crontab文件来新建任务,/etc/crontab文件内容默认如下:复制代码代码如下:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=///使用者运行的路径,这里是根目录#run-parts01****rootrun-parts/etc/cron.hourly//每小时执行/etc/cron.hourly内的脚本024***rootrun-parts/etc/cron.daily//每天执行/etc/cron.daily内的脚本224**0rootrun-parts/etc/cron.weekly//每星期执行/etc/cron.weekly内的脚本4241**rootrun-parts/etc/cron.monthly//每月去执行/etc/cron.monthly内的脚本注意"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。/etc/cron.hourly/,/etc/cron.daily/、cron.weekly/、/cron.monthly/存放着系统预先制定的cron任务/etc/crontab文件语法如下:MinuteHourDayMonthDayofweekcommand分钟小时天月天每星期命令每个字段代表的含义如下:Minute每个小时的第几分钟执行该任务Hour每天的第几个小时执行该任务Day每月的第几天执行该任务Month每年的第几个月执行该任务DayOfWeek每周的第几天执行该任务Command指定要执行的程序在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。同时,cron支持类似正则表达式的书写,支持如下几个特殊符号定义:"代表取值范围内的数字,"每","代表从某个数字到某个数字,"分开几个离散的数字举例如下:复制代码代码如下:5****ls指定每小时的第5分钟执行一次ls命令305***ls指定每天的5:30执行ls命令3078**ls指定每月8号的7:30分执行ls命令507***rootrun-parts/etc/cron.daily每天7:50以root身份执行/etc/cron.daily目录中的'所有可执行文件[注:run-parts参数表示,执行后面目录中的所有可执行文件,如果单独执行某个脚本的话,是不需要增加run-parts参数的。]服务管理复制代码代码如下:servicecronstart//启动服务servicecronstop//关闭服务servicecronrestart//重启服务servicecronreload//重新载入配置命令选项-u指定一个用户,-l列出某个用户的任务计划-r删除某个用户的任务-e编辑某个用户的任务如:复制代码代码如下:crontab-u//设定某个用户的cron服务crontab-l//列出某个用户cron服务的详细内容crontab-r//删除没个用户的cron服务crontab-e//编辑某个用户的cron服务任务分类系统工作:系统周期性所要执行的工作,如备份系统数据、清理缓存,系统工作一般都定义在/etc/crontab文件中个人工作:某个用户定期要做的工作,如清理3天前的文件cron用户限制我们可以对不同用户设置限制,比如允许user1使用cron服务,而user2不允许使用cron服务;可以通过编辑如下两个文件实现这个策略:/etc/cron.deny被记录在此的用户不能使用cron任