首页 > 系统 > Linux > 正文

Linux的学习--crontab

2024-06-28 13:23:04
字体:
来源:转载
供稿:网友
linux的学习--crontab

之前了解过一点crontab,前段时间比较闲,就熟悉了一下,今天总结记录一下。

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。

什么时候需要用到crontab呢?如下就是几个很好的应用场景

  • 每分钟需要执行一个程序检查系统运行状态
  • 每天凌晨需要对过去一天的业务数据进行统计
  • 每个星期需要把日志文件备份
  • 每个月需要把数据库进行备份
安装crontab

在Ubuntu系统中的安装如下:

sudo apt-get install cron

时间设置
# 文件格式说明#  ——分钟 (0 - 59)# |  ——小时 (0 - 23)# | |  ——日   (1 - 31)# | | |  ——月   (1 - 12)# | | | |  ——星期 (0 - 7)(星期日=0或7)# | | | | |# * * * * * 被执行的命令

注:

  1. 在“星期域”(第五个域),0和7都被视为星期日。
  2. 不很直观的用法:如果日期和星期同时被设定,那么其中的一个条件被满足时,指令便会被执行。
  3. 前5个域称之分时日月周,可方便个人记忆。

从第六个域起,指明要执行的命令。

crontab命令
    crontab [ -u user ] [ -i ] { -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 deleting user's crontab)

crontab例子

每晚21:30重启nginx

  30 21 * * * service nginx restart

每月1, 10, 22日的4:45重启nginx

  45 4 1,10,22 * * service nginx restart

每月1到10日4:45重启nginx

  45 4 1-10 * * service nginx restart

每隔2分钟重启nginx服务器

  */2 * * * *service nginx restart

  1-59/2 * * * *service nginx restart

晚上11点到早上7点之间,每隔一小时重启nginx

  0 23-7/1 * * * service nginx restart

每天18:00到23:00之间每隔30分钟重启nginx

  0,30 18-23 * * *service nginx restart

  0-59/30 18-23 * * *service nginx restart

小结
  • *表示任何时候到匹配
  • 可以用"A,B,C"表示A或者B或者C时执行命令
  • 可以用"A-B"表示A到B之间时执行命令
  • 可以用"*/A"表示每A分钟(小时等)执行一次命令

上一篇:linux svn搭建

下一篇:(zz)linux awk

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表