crond命令

来源:互联网 发布:sql把重复数据删除 编辑:程序博客网 时间:2024/05/16 01:33
crond
crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。

(1)crontab 需要启动一个服务crond才行,crond服务通过crontab命令实现。
(2)crontab工作

 运行linux后,开机自启动crond任务,系统会每分钟检查是否有要执行的任务工作(循环检测)

 默认系统中可以登陆的用户,都可以使用crontab定义计划任务。不过,可以通过/etc/cron.allow文件限制权限。


  >>crontab支持两种状态:

a.直接编写计划任务;

b.使用目录的方式,放在目录里面的都会定时执行,定时目录可在/etc/crontab中设定。


(3)用法:

/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow 该文件中所列的用户允许使用Crontab命令

/var/spool/cron/ 是所有用户的crontab文件

/var/spool/cron/crontabs /var/spool/cron/crontabs

Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:

参数名称www.britepic.org 含义 示例

-l  显示用户的Crontab文件的内容 crontabl –l

-i 删除用户的Crontab文件前给提示 crontabl -ri

-r  从Crontab目录中删除用户的Crontab文件 crontabl -r

-e  编辑用户的Crontab文件 crontabl -e

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

<pre name="code" class="cpp">[root@www etc]# vim cron.deny //文件中所列的用户不允许使用Crontab[root@www etc]# vim cron.allow   //该文件中所列的用户允许使用Crontab命令
[root@www etc]# cat cron.denyadmin[root@www etc]# cat cron.allowroot
[root@www etc]# su - admin[admin@www ~]$ crontab -eYou (admin) are not allowed to use this program (crontab)See crontab(1) for more information
(4)crontab文件
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt  表示,每隔15分钟,执行打印一次命令 
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定 
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
/////
[root@www etc]# cat crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# 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
 *      *     *      *     *    /bin/sh /scripts/yy.sh
 分    时   日    月   周    命令和文件路径
(00-59)  (0-23)  (1-31)  (1-12)   (0-6)
所用符号表示意思
星号每的意思
减号连续一段时间,如:00 17-19 * * * cmd  每天下午17点,18点,19点执行一次命令
逗号多个时间段,如:00 10-11,17-19 * * * cmd 每天的上午10,11点整,下午的17,18,19点整执行一次命令
/n n代表数字,指每隔n时间执行一次,如: */2 * * * * cmd 每隔2分钟执行一次命令

2/dev/null 2>&1解释

 

0是标准输入    使用<<<

1是标准输出    使用>>>

2是标准错误输出  使用2>2>>

>/dev/null 2>&1  即错误输出与标准输出全部重定向到空,可以写成1>/dev/null 2>/dev/null



(5)cron服务
  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
  /sbin/service crond start    //启动服务
  /sbin/service crond stop     //关闭服务
  /sbin/service crond restart  //重启服务
  /sbin/service crond reload   //重新载入配置
  /sbin/service crond status   //查看服务状态 

测试:
[root@www etc]# crontab -ecrontab: installing new crontab[root@www etc]# /sbin/service crond startStarting crond:                                            [  OK  ][root@www etc]# cd /home[root@www home]# vim tmp[root@www home]# crontab -l*/1 * * * * echo we are young >>/home/tmp  //每隔一分钟向/home/tmp输入we are young
[root@www home]# cat tmpwe are youngwe are youngwe are young



0 0
原创粉丝点击