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

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

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

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

安装crontab

在ubuntu系统中的安装如下:

sudo apt-get install cron

时间设置

# 文件格式说明
# ——分钟 ( - )
# | ——小时 ( - )
# | | ——日 ( - )
# | | | ——月 ( - )
# | | | | ——星期 ( - )(星期日=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分钟(小时等)执行一次命令

最新文章

  1. UML课程复习重点
  2. fedora配置163为yum的源
  3. 移动APP项目优化
  4. iOS开发一个用户登录注册模块需要解决的坑
  5. 【USB多路电源】layout
  6. MyDiary,《你的名字。》同款日记应用
  7. [CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵
  8. iOS证书详解--再转
  9. 精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
  10. 【thinking in java】读书笔记(一)
  11. wp7之换肤原理简单分析
  12. css3-文字旋转
  13. C++学习笔记1(标准的输入输出)
  14. python2和python3共存时,设置默认python为python3
  15. A. Make a triangle!
  16. 基于sendEmail的简单zabbix邮件报警
  17. nginx tomcat https
  18. 电子商务 B2C 结构图【转载+整理】
  19. Spring MVC手札
  20. isScroll的滚动组件的用法

热门文章

  1. MJExtension笔记(一)
  2. DateTime与DateTime?赋值问题以及null类型的如何赋值问题
  3. JavaScript 基础第五天
  4. Unity粒子系统特性
  5. Eclipse引入外部Jar在发布时没有自动带入,导致出现ClassNoFound错误
  6. 【腾讯Bugly干货分享】微信读书iOS性能优化
  7. node(websocket)
  8. 微软四十周年 Microsoft’s 40th anniversary
  9. 架构设计:前后端分离之Web前端架构设计
  10. IOS 推送-配置与代码编写