crontab 是linux系统集成的定时任务命令,它对于系统运行(数据的备份,调度系统资源或命令,程序的定时触发等非常有用)。crontab有些类似于Windows系统的Service的任务计划程序。它可以指定某个后台程序的执行的时间或者时间间隔。

  大家可以安装VMware虚机,测试mysql数据的备份,测试webservice服务的定时启动等等,也许你会用上shell编程;

  那下面开始跟大家说说crontab的使用:

  [Minute] [Hour] [Month] [Year] [Week] [Command]

  

  这里介绍两种方法去执行调度命令:

  大家先创建SystemDate文件,后面才能  >>  或 先在终端输入 #date > /home/SystemDate

  a、输入 #crontab -e (不推荐)

    例如:    

     * * * * * date >> /home/SystemDate     (每分钟查询日期,并记录在SystemDate文件中)                                            

  b、输入#vim myCron.sh  创建.sh文件,编辑如下命令,并存盘退出

    例如:  

     date >> /home/SystemDate                                                                                                 

    补充:

    >>的意思是追加(适用场景:把一个文件的内容复制到另一个文件的末尾)

    >  的意思是重定向,就要覆盖原来文件的内容

    注意:要将myCron.sh 修改成执行文件 

     chmod 744 myCron.sh                                                                                                       

    让myCron.sh 至少是  -rwxr--r--

*/2 * * * * /bin/sh /root/logs/myCron.sh

    1、下面就说,如何添加和编辑 Crontab  

      #crontab -e                                                                                                              

(包括默认编辑器,如果你的linux已经修改了VISUAL环境变数的话,那编辑器就你的算!)

   在操作crontab时,是对用户来说,所以请指定用户,当然不指定的话,肯定就是默认当前登陆用户
crontab -u username                                                              

   2、列出用户当前的 Crontab   

    crontab -1                                                                  

    列出其他用户的Crontab  

    #crontab -u username -l                                                                                                

    3、删除用户当前的 Crontab 

    crontab -u username -r                                                           

    4、其他操作:

    

5、从实例中说明,也许你会看得很清楚:

     5.1 每一天的某个时刻执行(一天执行一次),例如每天凌晨 2:00 执行

      0 2 * * * date >> /home/SystemDate                                                   

     5.2 每一天的两个时刻执行(一天执行两次),例如 早上8:00 晚上20:00 都执行

       0 8,20 * * * date >> /home/SystemDate                                                

     5.3 每一分钟都执行一次

       * * * * * date >> /home/SystemDate                                                      

    5.4 每个星期的固定的一天中的某个时刻,例如每个星期的星期一上午8:00执行

       0 8 * * 1 date >> /home/SystemDate                                                   

    5.5 每十分钟执行一次

       */10 * * * * date >> /home/SystemDate                                                   

    5.6 让命令只在3月、4月、10执行 

       * * * 3,4,10 * date >> /home/SystemDate                                                  

    5.7 每个星期中固定的某两天的某个固定时刻执行,例如 每个星期的星期一和星期三的上午8:00执行

       0 8 * * 1,3 date >> /home/SystemDate                                                   

    5.8 每四个小时执行一次

       0 */4 * * * date >>  /home/SystemDate                                                  

    5.9 每个星期中固定的某两天的某两个固定时刻执行,例如 每个星期的星期一和星期三的上午8:00和晚上20:00执行

       0 8,20 * * * date >> /home/SystemDate                                                                   

    5.10 每三十秒执行一次

       * * * * * date >> /home/SystemDate                                                   
* * * * * sleep 30                                                        

    5.11 每年的第一分钟 @yearly = 0 0 1 1 *

       0 0 1 1 * date >> /home/SystemDate                                                    

    5.12 每个月的第一分钟 @monthly = 0 0 1 * *

    0 0 1 * * date >> /home/SystemDate                                                      

    5.13 每个星期的第一分钟@weekly = 0 0 1 * *

    0 0 1 * * date >> /home/SystemDate                                                   

    5.14每天的第一分钟 @daily =0 0 * * *

    0 0 * * * date >> /home/SystemDate                                                   

    5.15每个小时的第一分钟 @hourly = 0 * * * *

    0 * * * * date >> /home/SystemDate                                                   

    下面还有很多 Examples ,真的不能一一列了,都已经四点了;(第一次把排版弄这么好(相对于我来说哈),做好一件事真的不容易);

  

Crontab 在linux中的非常有用的Schedule Jobs的更多相关文章

  1. Linux中8个有用的touch命令

    在Linux中,每个文件都有时间戳,并且每个文件都存储上次访问时间,上次修改时间,上次改变时间的信息.因此,无论什么时候我们创建新的文件,访问或者修改一个存在的文件,那个文件的时间戳会自动被更改. 在 ...

  2. Linux 中 10 个有用的命令行补全例子

    在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion.默认情况下 ...

  3. Linux中10个有用的命令行补齐命令

    本文转自GeekFan,感觉确实比较极客范啊,[TAB][TAB]补全都知道,但是你知道可以定制化补全吗? ---------------------------------------------- ...

  4. Linux中的crontab命令用法

    Crontab 在linux中,crontab的用来设置定期执行指定的命令,我们可以用它来指定一些需要重复的事情,Linux系统的用户只需将想要定期要执行的命令序列加到crontab文件中,操作系统即 ...

  5. 5 个在 Linux 中管理文件类型和系统时间的有用命令

    对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同 ...

  6. Linux中利用crontab创建计划任务

    在linux中启动crontab服务: /etc/init.d/crond  start crontab的命令格式 crontab -l   显示当前的crontab 文件(默认编写的crontab文 ...

  7. AIX 与Linux 中crontab 介绍

    AIX 与Linux 中crontab 用法相似,先介绍Linux 中的Crontab 用法,再后介绍AIX 与Linux 的不同之处.   一.Crontab 介绍 crontab命令的功能是在一定 ...

  8. linux 中的定时任务crontab使用方法

    linux 中的定时任务crontab使用方法: 切换到root用户,sudo su root (可以设置成不需要输入密码) sudo su - (需要输入当前帐号的密码才能进入.) crontab ...

  9. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

随机推荐

  1. 再续前缘-apache.commons.beanutils的补充

    title: 再续前缘-apache.commons.beanutils的补充 toc: true date: 2016-05-32 02:29:32 categories: 实在技巧 tags: 插 ...

  2. java ==,equals(),hashCode()

    java中的==.equals().hashCode()源码分析 在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. ==  java中 ...

  3. HNOI 2016 地图

    [题目描述] Hoshizora Rin是个特别好动的少女. 一天Rin来到了一个遥远的都市.这个都市有N个建筑,编号从1到N,其中市中心编号为1,这个都市有M条双向通行的街道,每条街道连接着两个建筑 ...

  4. Makefile $@,$^,$ 作用

    /* main.c */        #include "mytool1.h"        #include "mytool2.h"        int  ...

  5. rabbitmq使用命令创建交换机、队列及绑定

    http://www.jusene.me/2018/02/20/rabbitmq-2/

  6. 【20151105noip膜你赛】bzoj3652 bzoj3653

    题目仿佛在讽刺我... 第一题: 题解: 考虑枚举区间右端点,维护所以左到当前的 and 和 or .注意 and 每次变化至少有一个二进制位从1变 0,or 每次至少有一个位从0变 1,所以最多有l ...

  7. 从C语言项目谈编程

    很多初学C语言的小伙伴,在学习之初并没有一个大概的概念,学习这门语言需要掌握多少知识点,怎么才算学的差不多? C语言的精髓点在哪? 学到多少东西才能够达到做项目的标准?学习的时候需要注意哪些细节点?疑 ...

  8. Bazinga(HDU5510+KMP)

    t题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 题目: 题意:找到一个编号最大的字符串满足:存在一个编号比它小的字符串不是它的字串. 思路:K ...

  9. HDU 1312 Red and Black (深搜)

    题目链接 Problem Description There is a rectangular room, covered with square tiles. Each tile is colore ...

  10. Angular2.0 基础:双向数据绑定 [(ngModel)]

    在属性绑定中,值从模型到屏幕上的目标属性 (property). 通过把属性名括在方括号中来标记出目标属性,[]. 这是从模型到视图的单向数据绑定. 而在事件绑定中,值是从屏幕上的目标属性 到 mod ...