一、计划任务 crond服务简介

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

*系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存

*个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。

这个时候可以用cron来帮助系统进行任务调度。cron可以根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。

crond服务通过shell和Linux/Unix下的crontab(计划任务控制)的方式实现。cron是计划任务的称呼,crond是后台进程,而crontab则是定制好的计划任务表。cron 这个名字来自 “chronos”,一个古希腊语“时间”的意思。crond进程每分种会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

要使用 crond服务,你必须安装了vixie-cron RPM 软件包,而且必须在运行crond服务。要判定该软件包是否已安装,使用rpm -q vixie-cron命令。要判定该服务是否在运行,使用 /sbin/service crond status 命令。

crond服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

/sbin/service crond start //启动服务

  /sbin/service crond stop //关闭服务

  /sbin/service crond restart //重启服务

  /sbin/service crond reload //重新载入配置

你也可以让这个服务在系统启动的时候自动启动,只需要在/etc/rc.d/rc.local这个脚本的末尾加上:

/sbin/service crond start

2.2 crond服务的使用

  crond服务提供crontab命令来设定crond服务,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般这个参数只允许root使用

  crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除某个用户的cron服务

注意:如果有多条计划任务crontab -r会删除用户所有的计划,如果你只想删除其中一条计划任务,请使用crontab -e 命令或者直接编辑/var/spool/cron/root文件。

  crontab -e //编辑某个用户的cron服务

现举例说明:

  # crontab -u root –l      //root查看自己的cron设置

  # crontab -u fred –r     // root想删除fred的cron设置

  # crontab -u root –e     //编辑root的crontab文件

crontab -e命令编辑的是/var/spool/cron下对应用户的cron文件

我们也可以直接修改/etc/crontab文件,crontab文件有自己的格式,具体如下:

Minute  Hour   Day    Month   Dayofweek   command

分钟       小时     天       月           天每星期        命令

每个字段代表的含义如下:

Minute             每个小时的第几分钟执行该任务

Hour               每天的第几个小时执行该任务

Day                 每月的第几天执行该任务

Month             每年的第几个月执行该任务

DayOfWeek     每周的第几天执行该任务

Command       指定要执行的程序

举例如下:

5         *       *           *     *     ls    //指定每小时的第5分钟执行一次ls命令

30      5       *           *     *     ls    //指定每天的 5:30 执行ls命令

30      7       8           *     *     ls    //指定每月8号的7:30分执行ls命令

30      5       8           6     *     ls    //指定每年的6月8日5:30执行ls命令

30      6       *            *     0     ls    //指定每星期日的6:30执行ls命令

注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等

30     3     10,20     *     *     ls     //每月10号及20号的3:30执行ls命令

注:“,”用来连接多个不连续的时段

25     8-11    *       *     *     ls     //每天8-11点的第25分钟执行ls命令

注:“-”用来连接连续的时段

*/15   *       *       *     *     ls     //每15分钟执行一次ls命令(即每个小时的第0 15 30 45 60分钟执行ls命令)

30     6     */10    *     *     ls  //每个月中,每隔10天6:30执行一次ls命令(即每月的1、11、21、31日是的6:30执行一次ls命令)

50     7      *        *     *     root run-parts /etc/cron.daily   //每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行脚本

注:run-parts参数表示,执行后面目录中的所有可执行文件,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了

30     5      *        *     *     ls >/jp/test 2>&1   //每天5:30执行ls命令,并把结果输出到/jp/test文件中

注:2>&1 表示执行结果及错误信息

记住几个特殊符号的含义:

"*"代表取值范围内的数字,

"/"代表"每",

"-"代表从某个数字到某个数字,

","分开几个离散的数字

chkconfig --list crond 查询crond服务的运行级信息

chkconfig --level 2345 crond 设置crond服务的运行级信息

等级0表示:表示关机
      等级1表示:单用户模式
      等级2表示:无网络连接的多用户命令行模式
      等级3表示:有网络连接的多用户命令行模式
      等级4表示:不可用
      等级5表示:带图形界面的多用户模式
      等级6表示:重新启动

文件在 /etc/inittab

linux基础命令学习(四)计划任务的更多相关文章

  1. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  2. linux基础命令学习(六)文件的特殊属性

    Linux chattr命令用于改变文件属性. 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途.    b:不更新文件或目录的最后存取 ...

  3. linux基础命令学习(四)用户与群组

    一.linux用户账号的管理 linux用户账号的管理主要包括用户添加.用户删除.用户修改. 添加用户账号就是在系统创建一个新账号,然后为新账号分为用户号.用户组.主目录和登录Shell等资源. 刚添 ...

  4. linux基础命令学习 (七)压缩解压

    一.tar tar主要用来压缩和解压文件 语法: tar [主选项+辅选项] 文件或者目录 主选项: c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项.相当于打包. x 从档 ...

  5. Linux基础命令学习记录(一)

    使用频繁的Linux命令 一.文件和目录 1.cd命令 cd / 进入根目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~ 进入个人的主目录 cd - ...

  6. linux基础命令学习(七)samba服务器配置

    samba有五种安全级别,它们分别是: share:不需要samba账户就可登陆samba服务器      user:需要添加samba账户才可以登陆samba服务器      server:由另外一 ...

  7. linux基础命令学习(六)DHCP服务器配置

    工作原理:        1.客户机寻找服务器:广播发送discover包,寻找dhcp服务器        2.服务器响应请求:单播发送offer包,对客户机做出响应.提供客户端网络相关的租约以供选 ...

  8. linux基础命令学习五(软件包管理、下载管理)

    Linux 软件包管理   本文主要是记录下RedHat系列的软件包管理. 内容分为以下二个部分:二进制包的管理,源代码包的管理 一.二进制包的管理 1.1概念 主要有RPM和YUM这两种包管理. 两 ...

  9. linux基础命令学习总结

    本附录([美]哈恩:<Unix&Linux大学教程>附录B,张杰良译,清华大学出版社,2010年)摘要描述了书中所涉及的143个Unix使命,并且按照命令的类别进行排列.在每个名称 ...

随机推荐

  1. VBA提高速度的技巧

    此贴原转自EH论坛,我自己有所修改 [编者按]速度是程序设计永恒的热门话题,虽然速度技巧在各种语言之间可以相互借鉴,但差别有时也会很大,比如VC中由于字符串的存储方式决定了判断空串使用len函数更快, ...

  2. [maven] 使用问题及思考汇总

    (1)Maven坐标 maven坐标可以唯一标识一个项目,包含四个元素 groupId , artifactId, packaging, version. groupId:一般为团体,公司,项目.如 ...

  3. hdu-----(3746)Cyclic Nacklace(kmp)

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  4. CSS3 Media Queries

    Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: <link href="css/reset.css" rel= ...

  5. 史上最全的 Java 新手问题汇总

    史上最全的 Java 新手问题汇总   Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在. 有超过30亿 ...

  6. B+树索引和哈希索引的区别——我在想全文搜索引擎为啥不用hash索引而非得使用B+呢?

    哈希文件也称为散列文件,是利用哈希存储方式组织的文件,亦称为直接存取文件.它类似于哈希表,即根据文件中关键字的特点,设计一个哈希函数和处理冲突的方法,将记录哈希到存储设备上. 在哈希文件中,是使用一个 ...

  7. [转载]Windows 7笔记本创建wifi热点供手机上网教程

    用智能手机的朋友会发现这样一个问题,智能手机比普通手机上网更耗流量.这是因为智能手机应用(软件)丰富,而且大部分应用都会自动联网.为此,许多人每月包了上百M的流量套餐,但用的时候还是小心翼翼,生怕流量 ...

  8. display和visibility的区别

    一.display和visibility的相同与不同点 1.相同点:display和visibility都有讲元素隐藏的意思 2.不同点:display是元素隐藏,隐藏的元素不占文档流 而visibi ...

  9. urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]

    首先 加载 urlrewrite包 配置web.xml [list] [*] <error-page> [*]             <error-code>404</ ...

  10. eclipse 连接 mysql

    1.下载驱动. 2.eclipse->add extend jars -> 添加驱动. 3.测试: 在mysql 建立数据库和表,在eclipse 里对数据库进行操作. 代码: mysql ...