Linux cron定时命令的使用

    crontab文件中包含了用于cron守候进程执行的一条或者多条指令,在每条指令中均会指明在指定的日期、指定的时间执行某个特定的命令。每个用户均拥有自己的crontab表。用户可以通过下述命令来编辑相应的crontab文件:

(1)crontab -u    //用于设定某个用户的cron服务,一般root用户在执行该命令时需要该参数
(2)crontab -l     //列出属于某个用户的cron服务的详细内容
(3)crontab -r    //删除属于某个用户的cron服务
(4)crontab -e   //用于编辑某个用户的cron服务

    在crontab文件中,空白行和前导的空格以及制表符均会被忽略。除去空白符,首个字符为“#”的行会被当作注释,并被忽略。一个有效的crontab行可以用于设定一个环境或者执行一个cron命令。其中,环境变量的设定具有如下形式:name = value。式中,赋值符号周围的空格是可选的,并且value中任何非前导空格均会被当作其值的一部分。字符串类型的值可以位于引号中,包括单引号和双引号,以便能够保留前导或者尾部的空格。

    cron守候进程会自动设置一些环境变量。在默认情况下,SHELL将会被设置为/bin/sh,LOGNAME和HOME环境变量将会根据crontab所有者的/etc/passwd行中的值进行设定。HOME和SHELL这两个环境变量可以被覆盖,但是LOGNAME却不可以。

    对于每行crontab命令,均由五个时间/日期字段构成,后跟一个用户名(如果这是一个系统crontab文件),后跟将要执行的命令。cron每分钟便会检查crontab文件中的条目,以便及时执行合适的命令。crontab文件中时间和日期字段为:

字段名称允许的值
minute(分钟)0-59
hour(小时)0-23
day of month(每月中第几天)1-31
month(月)1-12(或指定月的名称)
day of week(每周中星期几)0-7(0和7表示星期日,或者使用名称)
    需要注意的是:字段值可以是“*”,表示整个取值区间。同时,对于各个字段可以指定数字区间,区间是两个数字,中间以-相隔,并且包含两端的值。同时,各个字段也允许列表值,一个列表是一个数字集合(包含区间),各个值之间以(“,”)相隔。例如:“1, 2, 5, 9”和“0-4, 8-12”等。

   在指定取值区间时,可以指定步长值,例如:0-23/2,表示每两个小时执行一次。同时,可以在一个“*”符号后指定一个步长值。除去上述五个时间和日期字段,每行中的剩余部分(直至新的一行或者“%”符号)便是将要执行的命令。该命令将由/bin/sh或者由SHELL环境变量指定的shell来执行。命令中的“%”符号将会被转换为换行符号。除非使用“\”字符进行转义,否则“%”符号之后的所有数据将会被发送给该命令作为标准输入。

    同时,需要注意的是:命令中的“天”可以通过两个字段来指定:(1)月中的天(day of month);(2)星期中的天(day of week)。如果这两个字段均被限定,命令将会在匹配两者任一的时间上执行。例如:30 4 1,15 * 5将会使得指定的命令在每月的1日和15日执行,另外加上每周的周五。而5 0 * * * $HOME/bin/daily.job >> $HOME/temp/out 2>&1表明命令将会在每天的00:05分执行。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值