定时命令 crontab

crontab命令小记

使用crontab命令时,最好填写绝对路径,命令和文件都最好写绝对路径.
否则很容易出现command not foundfile not found 😂

man crontab

让我们来使用男人这个命令查看下crontab.呀!都是英文!不喜!

Options

每个用户拥有自己的crontab, 配置文件在/var下面.

  • -e 设置计时器
  • -l 列出当前计时器的设置
  • -r 删除计时器设置
  • -i 交互模式,删除计时器设置时要询问

* 表示任意时间, - 表示取值范围

1
2
* * * * * echo 'crontab test' >> /home/test/test.txt
* * * * * /bin/sh /home/test/test.sh
  • 第一列分钟, 每分钟用*或者*/1表示
  • 第二列小时, 1~23, 6则表示6小时,0表示0点
  • 第三列日期, 1~31, 同上
  • 第四列月份, 1~12, 同上
  • 第五列星期, 0~6, 0代表星期天

    举些茄子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     30 21 * * * /usr/local/etc/rc.d/lighttpd restart
    //表示每晚的21:30重启lighttpd.

    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
    //表示每月1、10、22日的4:45重启lighttpd.

    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
    //每天18 : 00至23 : 00之间每隔30分钟重启lighttpd.

    0 * * * * /usr/local/etc/rc.d/lighttpd restart
    //每一小时重启lighttpd

    */5 * * * * #每五分钟执行
    0 * * * * #每小时执行
    0 0 * * * #每天执行
    0 0 * * 0 #每周日执行

    5 4 * * 6 /var/www/test.sh #每周六凌晨4:05执行
    0 4 * * 6 /var/www/test.sh #每周六凌晨4:00执行
    31 10-23/2 * * * /var/www/test.sh #在每天的10:31开始,每隔2小时重复一次