Linux crontab是用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

而 linux 任务调度的工作主要分为以下两类:

  • 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
  • 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

语法

crontab [ -u user ] file

crontab [ -u user ] { -l | -r | -e }

说明:

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。

-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数说明

  • -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  • -r : 删除目前的时程表
  • -l : 列出目前的时程表

时间格式如下:

f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
  • 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
  • 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
  • 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
  • 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 7) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12)
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

使用者也可以将所有的设定先存放在文件中,用 crontab file 的方式来设定执行时间。

实例

每月每天每小时的第 0 分钟执行一次 /bin/ls

0 * * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"

20 0-23/2 * * * echo "haha"

下面再看看几个具体的例子:

0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

注意:当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

Linux crontab 命令基本说明相关推荐

  1. linux crontab 管理,linux crontab 命令详解

    linux crontab 命令详解 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab ...

  2. 【Linux】Linux crontab 命令详解

    原文来自:http://ir.hit.edu.cn/~wsong/development/crontab.html Linux crontab 命令详解 在 Linux 中,任务可以被配置在指定的时间 ...

  3. Linux crontab 命令安装使用

    目录 Linux crontab 命令 1. 安装Crontab 2. crontab服务启动与关闭 3. 配置文件 3.1 全局配置文件 3.1.1 crontab文件 3.1.2 cron.all ...

  4. 【Linux】一步一步学Linux——crontab命令(132)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 知识储备 05. 参考示例 06. 附录 01. 命令概述 crontab是英文"cron ...

  5. Linux crontab命令

    Linux 如果要定期执行某个任务,可以尝试下crontab命令 下面是crontab的命令格式: 分 时 日 月 星期 要运行的命令 如果要在某一个特殊的时间段里执行某一命令,例如在每月1.10.2 ...

  6. Linux crontab 命令使用案例 @LCF

    cron介绍 我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件. /var/spool/cron/ 目 ...

  7. crontab命令linux,crontab命令

    crontab是英文"cron table"的简写.该命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具, ...

  8. Linux crontab 命令格式

    基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...

  9. Linux crontab 命令格式与具体样例

    基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...

最新文章

  1. 第五章 深入理解Magento – Magento资源配置
  2. matlab从图表中提取数据
  3. 【Demo】修改销售订单库存地点
  4. 中柏平板触摸驱动_一文总览2019年最新最全的工业平板电脑定制化服务
  5. leetcode 797. All Paths From Source to Target | 797. 所有可能的路径(回溯法)
  6. 图卷积神经网络_深度层次化图卷积神经网络
  7. java继承孙子类_Java:类与继承
  8. idea修改代码后没有重新编译_SpringBoot中实现代码修改之后的自动更新与热加载...
  9. 【Servlet】Servlet的多线程并发情况
  10. debounce实现 js_Vue.js以组件或者插件的形式实现throttle或者debounce
  11. 二叉树的遍历(先序/中序/后序,递归/迭代)与搜索
  12. ASP.NET WebAPI构建API接口服务实战演练
  13. python课题_python课题报告
  14. android实训报告ppt模板,实训报告ppt模板
  15. Android Studio在线自动升级版本
  16. QQ这个版本已经绝版。
  17. Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(二)
  18. 全新整理:微软、谷歌、百度等公司经典面试100题[第1-60题]
  19. 软件测试面试中都会问到哪些关于Python的问题?
  20. 宽带拨号上网显示服务器失效,拨号上网失败 宽带连接错误651怎么办

热门文章

  1. Redis 笔记(12)— 单线程架构(非阻塞 IO、多路复用)和多个异步线程
  2. 2022-2028年中国塑料合成革的制造行业市场全景评估及发展趋势研究报告
  3. 在pycharm中无法引入同一目录下的python文件
  4. QT中使用rubberband橡皮筋等方法进行选中多个物体
  5. 数据类型转换pytorch
  6. tryexceptelse可以嵌套
  7. Win10家庭版如何启用本地组策略
  8. pytorch学习笔记(十二):详解 Module 类
  9. LeetCode简单题之找出井字棋的获胜者
  10. Ascend Pytorch算子功能验证