Linux下的crond和crontab

来源:互联网 发布:nginx的内置对象 编辑:程序博客网 时间:2024/06/05 23:57

1.crond是什么?
crond是Linux下用来周期执行某种任务或等待处理某些事件的一个守护进程。当安装完成操作系统后,默认会安装此服务工具,并会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有,自动执行该任务。
2.Linux下任务调度:系统任务调度和用户任务调度
系统任务调度:系统周期性要执行的工作,例如写缓存数据到硬盘、日志清理等。/etc/crondtab 系统任务调度的配置文件。
3.crontab是啥玩意儿?
crontab的服务进程名为crond(意为周期任务),crontab在Linux主要用于周期定时任务管理。
crontab的用途:
定时系统检测;
定时数据采集;
定时日志备份;
定时更新数据缓存;

(1) 示例在Linux下实现 每分钟向文件下写入当前时间:
新建crontab任务:
crontab -e //打开crontab任务编辑器;
输入* * * * * date >> /tmp/mytime.txt //每分钟在/tmp/mytime.txt文件下写入当前时间;
过一段时间输入指令 cat /tmp/mytime.txt //输出/tmp/mytime.txt 文件的内容;
结果如下图:
这里写图片描述
4.crontab的使用选项:
crontab -e 当前用户的crontab任务列表配置文件;
crontab -u 指定某用户的任务列表
crontab -l 列出某用户的所有任务列表
crontab -r 删除某用户的所有任务列表 一般正常情况不使用
5.定时任务配置部分
输入cat /etc/crontab
得到如下内容:
这里写图片描述
第一列单位为分,表示每时第几分钟,范围(0-59);
第一列单位为时,表示每天第几小时,范围(0-23);
第三列单位为日,表示每月第几天,范围(1-31);
第四列单位为月,表示每年第几月,范围(1-12);
第五列单位为星期,表示每星期第几天,范围(0-6),星期天可以是0或7,其他分别为星期1-6.
6.时间配置 段类型
根据时间列中值的不同设置方式,基本有以下5种类型:
1.固定某值,指定固定值,如3月4日6时7分执行任务:
7 6 4 3 * command
2.列表值,时间值是一个列表,如指定一个月内4、8、16日零时执行任务:
0 0 4,8,16 * * command //指定多个值,以逗号分隔
3.连续范围值,时间为连续范围的值,如指定每个月1-7号零时执行任务
0 0 1-7 * * command
4.整除值,根据指定数值是否能被整除确定执行时间,如指定零时开始每5个小时0分执行一次任务
0 /5 * *command 能被5整除的满足执行条件
5.混合值,支持以上类型的组合 如5-8分,列表值,整除值:
5-8,12,32,* / 6 * * * *command
以上结果为在Centos 6.5环境下运行结果。

原创粉丝点击