一、简介

crontab 命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活, cron 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为 cron jobs。crontab 文件包含送交 cron 守护进程的一系列作业和指令。每个用户可以拥有自己的 crontab 文件;同时,操作系统保存一个针对整个系统的 crontab 文件,该文件通常存放于 /etc 或者 /etc 之下的子目录中,而这个文件只能由系统管理员来修改。crontab 文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。

二、安装&启动

cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务,或者可以在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service cron start

  1. 启动 cron

    user@ae01:~$ sudo service cron start
    cron start/running, process
    user@ae01:~$
    user@ae01:~$ lsof | grep cron
    cron root cwd unknown /proc//cwd (readlink: Permission denied)
    cron root rtd unknown /proc//root (readlink: Permission denied)
    cron root txt unknown /proc//exe (readlink: Permission denied)
    cron root NOFD /proc//fd (opendir: Permission denied)
    user@ae01:~$
  2. 重新载入配置
    user@ae01:~$ sudo service cron reload
    user@ae01:~$
  3. 停止 cron
    user@ae01:~$ sudo service cron stop
    cron stop/waiting
    user@ae01:~$
    user@ae01:~$ lsof | grep cron
    user@ae01:~$

三、语法&参数

usage:  crontab [-u user] file
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)
user@ae01:~$

Note:每个用户都有自己的 crontab 文件,如果你操作其他用户的的 crontab 需要使用 -u 参数

  1. 查看 root 的crontab 列表

    user@ae01:~$ sudo crontab -u root -l
    no crontab for root
  2. 配置 当前用户的 定时任务
    user@ae01:~$ crontab -e
    # For example, you can run a backup of all your user accounts
    # at a.m every week with:
    # * * tar -zcf /var/backups/home.tgz /home/

    Note:crontab 的配置的格式说明:
    #MIN     HOUR     DAY     MONTH     DAYOFWEEK     COMMAND 
    进入编辑模式之后,编辑的内容一定要符合下面的格式:格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下: 
    分钟 (0-59) 
    小時 (0-23) 
    日期 (1-31) 
    月份 (1-12) 
    星期 (0-6)//0代表星期天
    除了数字还有几个个特殊的符号就是"*"、"/"、"-"和",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字

四、练习

  1. 每天早上6点

      * * * command line 
  2. 每两个小时 
     */ * * * command line 
  3. 晚上11点到早上8点之间每两个小时,早上八点 
     -/, * * * command line 
  4. 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 
       * - command line 
  5. 1月1日早上4点
        * command line 

Linux crontab 定时任务命令详解的更多相关文章

  1. Linux Crontab 定时任务 命令详解

    一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行. 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调 ...

  2. [转] Linux Crontab 定时任务 命令详解

    一.  Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行. 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些 ...

  3. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  4. linux之find命令详解

    linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...

  5. Linux下rar命令详解

    Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...

  6. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  7. Linux下chkconfig命令详解(转)

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  8. Linux 之Cut命令详解

    摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要 ...

  9. Linux知识积累(4) Linux下chkconfig命令详解

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

随机推荐

  1. Delphi函数指针

    参考:http://blog.chinaunix.net/uid-91034-id-2009700.html http://blog.csdn.net/procedure1984/article/de ...

  2. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  3. ios广告

    ios广告只需要添加iAd.framework框架 添加广告控件ADBannerView,在控制器中设置广告控件代理<ADBannerViewDelegate>即可,广告会有苹果官方自动推 ...

  4. Arduino101学习笔记(十)—— 串口通信

    //打开串口 Serial.begin(); //获取串口上可读取的数据的字节数.该数据是指已经到达并存储在接收缓存(共有64字节)中 Serial.available(); //读串口数据,串口上第 ...

  5. Java学习笔记(十)——多态

    一.多态 1.对象的多种形态 (1)引用多态: 父类的引用可以指向本类的对象 父类的引用可以指向子类的对象 (2)方法多态: 创建本类对象时,调用的方法为本类方法: 创建子类对象时,调用的方法是子类方 ...

  6. Linux C编程(2) dgb调试

    1. 首先编写一个用于调试的测试程序test.c #include <stdio.h> int get_sum(int n) { ,i; ; i <=n ; i++) { sum+= ...

  7. hibernate快速入门

    第一步:下载Hibernate的开发包: http://sourceforge.net/projects/hibernate/files/hibernate3 第二步:Hibernate框架目录结构: ...

  8. Windows Server 2008 R2 实现多用户同时登陆

    Windows Server 2008 R2远程用户数设置 在windows server 2008 R2里面,默认的远程桌面连接数为1.这对我们的服务器管理带来了很大的不便,那么怎样来修改2008 ...

  9. Laravel之Service Container服务容器

    managing class dependencies and performing dependency injection. Dependency injection is a fancy phr ...

  10. 【JavaScript】变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级

    参考资料http://caibaojian.com/toutiao/5446 1.所有变量声明(var)或者声明函数都会被提升到当前函数顶部 关于函数表达式,js会将代码拆分为两行代码分别执行.这里需 ...