Cron介绍

crontab命令:

  • 使用crontab命令来配置:
    • 语法:crontab [-u user] [-l|-e|-r]
    • 说明:
  -u    user 配置用户的cron(只有root能用)
  -l    列出crontab的内容
  -e    编辑crontab的内容(打开vi编辑器)
  -r    删除crontab的内容
  • 举例:每隔两分钟把当前日期写到指定文件
crontab -e ,加入*/2 * * * * echo `date`>/tmp/date.tmp
查看目录:ls -al /var/spool/cron
查看配置: crontab -l
删除:crontab -r

cron的权限控制:

  • 默认情况下,所有用户都能使用cron

  • 利用/etc/cron.allow和/etc/cron.deny可以控制那些用户可以使用cron

  • 如果存在allow文件,那么它将包含可以提交cronttab的所有用户名单,每行一个用户,任何没有列出的用户都不能使用crontab命令。如果不存在allow文件,那么将检查deny文件,以确定哪些人不能使用crontab。如果两个文件都不存在,那么只有root可以使用。


Cron介绍:

  • /etc/crontab文件和/etc/cron.d目录

    • 管理员的系统维护计划通常都保存在/etc/crontab文件和/etc/cron.d目录下面的其他文件中

    • 这些文件允许以任何身份来执行命令

    • cron以一样的方式来解析/etc/crontab文件和/etc/cron.d目录下面的其他文件

    • 系统关机或者系统时间发生变化而遗漏的命令,cron不会补充执行

    • anacron可以用于满足时间精度要求高的任务

    • RedHat CentOS上cron改名为crond


crontab的文件格式:

  • 配置文件支持#开始的注释行
  • 非注释行包括6~7个字段:
  • minute hour day month weekday [username] cmd

    • 相互之间以空格隔开,cmd中的空格按照原意对待,不用加引号,run-parts部分代表运行目录下面的所有可执行文件

    • username字段只出现在/etc/crontab文件和/etc/cron.d目录下的文件中,用于指定运行该命令时使用的用户

    • 范围:minute(0~59) hour(0~23) day(1~31) month(1~12) weekday(0~6)

    • MAILTO=root指定发生错误时信息发送目标

  • 与时间相关的字段可以包含:

    • 星号,表示匹配任意字符

    • 整数,表示必须精确匹配

    • 用短划线隔开的两个整数,表示范围

    • 一些列用逗号隔开的整数和范围,表示匹配任何列出的值

    • 例如:

// 从周一到周五的上午十点半
30 10 * * 1-5
  • 时间相关字段的注意事项:

    • 不要把星号放在第一个字段中,除非需要每分钟执行一次命令

    • 某些crontab版本支持step。如1,3,5,7可以简写为1-7/2

    • weekday字段与day字段有潜在二义性,最终结果是或运算,而不是与运算,例如:

// 星期五每半个小时或者每月13号每半个小时执行一次”,
// 而不是“每月13号且是星期五的那天每半个小时执行一次
0,30 * 13 * 5
  • 命令字段的注意事项:

    • 命令可以是任何有效的shell命令

    • 最后一个字段一直到行尾都是命令的内容

    • 不要加引号

    • 需要换行就使用百分号,第一个百分号之前的文本作为命令内容,之后的文本作为标准输入

    • 可以使用分号隔开多个命令

    • 可以使用括号把命令进行封装

    • 举例:

// 表示每周一凌晨2:30到/home/hexy/test目录中运行make命令
30 2 * * 1 (cd /home/itcast/test; make)
// 除了周四、周五之外,每天晚上11:55运行/home/itcast/backup.sh脚本
55 23 * * 0-3,6 /home/itcast/backup.sh
// 每隔2分钟发送一个当前登录用户数量给用户 mari 
0-59/2 * * * * root (echo current date `date`>/tmp/count;echo the current user count is:`who | wc -l`>>/tmp/count;write mari < /tmp/count)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值