一、简介

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. NSDatePicker && NSDate

    UIDatePicker *datePicker = [[UIDatePicker alloc]init]; datePicker.datePickerMode = UIDatePickerModeD ...

  2. CLR via C#(10)-参数

    一. 命名参数.可选参数 命名参数和可选参数是在Visual C#2010中引入的新特性. 笨地儿我个瓜不兮兮的,今天才知道. 可选参数:定义方法时为参数设置默认值,调用该方法时可以省略为某些形参指定 ...

  3. DOM – 7.动态创建DOM + 8.innerText innerHTML value

    7.动态创建DOM 8.innerText  innerHTML  value 7+8 练习:案例:点击按钮动态增加网站列表,分两列,第一列为网站的名字,第二列为带网站超链接的网站名.增加三行常见网站 ...

  4. Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片

    设置 背景颜色和背景图片 首先设置autoFillBackground属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette ...

  5. Howto: Connect MySQL server using C program API under Linux or UNIX

    From my mailbag: How do I write a C program to connect MySQL database server? MySQL database does su ...

  6. C# NamePipe使用小结

    最近在一次项目中使用到了C#中命名管道,所以在此写下一篇小结备忘. 为什么要使用命名管道呢?为了实现两个程序之间的数据交换.假设下面一个场景.在同一台PC上,程序A与程序B需要进行数据通信,此时我们就 ...

  7. linux 用户之间的切换

    从root用户切换到普通用户fxm, 使用如下命令:su - fxm 从普通用户切换到root用户,使用如下命令:su - 或者 su, root可以省略不写.

  8. Chrome书签被篡改之后的恢复

    chrome书签和备份存放的路径:(XXXX为用户名)(AppData文件夹为隐藏文件夹) \Users\XXXX\AppData\Local\Google\Chrome\User Data\Defa ...

  9. java的安装环境配置详细步骤

    --------------------声明,如果你有什么建议或者不懂的地方,欢迎回复,我们可以互相学习,转载请注明出处,谢谢---------------- 首先得安装jdk(Java Develo ...

  10. uri,url.urn

    uri:Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI" ...