crond是什么? 使用crond(cron监控程序)来定期运行一些任务比如备份日志、数据库、 把日志发送到自己邮箱等等操作都可以又定期运行程序来完成。 crond是个脚本每次Linux启动的时候都自动起到该脚本该脚本是 /etc/rc.d/init.d下面的每次系统启动的时候就自动会启动该目录下的脚本。 cron有两个配置文件一个/etc/crontab是一个全局配置文件一组crontab命令生成生成的配置文件是属于用户级的。 一般对管理员来说只要使用全局配置的/etc/crontab就配置文件就可以,crontab见下图;
一、创建定时任务
1.crond守护进程—>完成定时运行脚本功能: 在Linux中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间,cron的配置文件称为“crontab”,是“cron table”的简写。
2.运行方式有两种:
第一种:/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab;vim/etc/crontab, 在此文件中添加定时执行的命令即可—->完成定时运行脚本任务。 在该文件中添加命令第二种:创建cron脚本—->用命令把此脚本文件添加到指定目录—->完成定时执行命令任务3.Crontab用法
[root@yang1 data]# crontab –help #<==注:crontab –l –e都是直接操作/var/spool/cron/下当前用户名的文件usage: crontab [-u user] file #<==指定某用户如crontab –u yang2 –e,编辑yang2家目录下的crontabcrontab [-u user] [ -e | -l | -r ](default operation is replace,per 1003.2) -e (edit user’s crontab) #<==编辑当前用户的定时任务 -l (list user’s crontab) #<==查看当前用户的定时任务 -r (delete user’s crontab) #<==删除定时任务 -i (prompt before deletinguser’s crontab) #<==删除crontab文件内容,删前会有提示 -s (selinux context)4.crond定时任务限权(可对各用户使用定时任务进行管理)
1)拒绝用户使用crontab任务 在/etc/cron.deny中添加要拒绝的用户名
2)允许用户访问crontab任务 在/etc/cron.allow中添加要允许的用户名
3)定期执行一个目录下的文件 在/etc/crontab中添加目录,格式如下: 01 * * * * root run-parts 目录 注:使用run-parts可定义定期执行的目录
4.crond服务 命令 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。 /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 /sbin/service crond status //查看服务状态 5.crontab 格式 基本格式:
* * * * * command 分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用或者/1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列 表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令
除了数字还有几个个特殊的符号就是”“、”/”和”-“、”,”,代表所有的取值范围内的数字,”/”代表每的意思,”/5”表示每5个单位,”-“代表从某个数字到某个数字,”,”分开几个离散的数字。
6.需要注意事项
7.crontab的定时任务举例
在crontab文件中添加定时任务,向test.txt文件中每隔一分钟,打印一条”hello”二、查询定时任务是否执行 1.看 /var/log/cron这个文件,查看当前命令的状态
2.mail任务,在 /var/spool/mail/root 文件中查看 由于命令的原因,没有找到文件