一、简介

1、 Linux中有许多周期性执行的任务,这些任务由cron守护进程完成,因此cron这个系统服务是默认启动的。

2、Linux中调度任务分为两类:系统任务调度和用户任务调度,系统任务调度即系统周期性所要执行的工作。/etc/crontab文件是系统任务调度的配置文件。

3、用户任务调度就是用户要周期性执行的工作,可用crontab命令定制自己的计划任务,用户定义的计划任务都保存在/var/spool/cron目录中,文件名与用户名一致

4、用户任务调度使用者权限:

1)、/etc/cron.deny , 文件所列用户不允许使用crontab命令

2)、/etc/cron.allow , 文件所列用户允许使用crontab命令

3)、/var/spool/cron/ , 所有用户crontab文件存放的目录,文件名同用户名

二、crontab  定时任务命令详解

cat /etc/crontab

SHELL=/bin/bash  #SHELL变量指定系统使用哪种shell,这里使用bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin  #PATH变量指定系统执行命令的路径

MAILTO=root  #MAILTO变量指定任务执行信息发送给谁

HOME=/  #HOME变量指定执行命令或脚本时使用的主目录

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

1、前5个字段为时间设置段,第6个字段是所需执行的命令段

minute hour day month week command

分钟  小时  日期  月份    星期几    要执行的命令或脚本

每个字段可使用的特殊字符代表意义:

*  表示所有可能的值,如day为*,则表示在满足其他字段制约的条件后每天都执行该命令或脚本;

,  可用逗号隔开的值指定一个列表范围

-  可以用整数之间的中杠表示整数范围

/  用来指定时间的间隔,如"0-23/2"表示在0点~23点,每两小时执行一次,如hour字段"*/3"表示每3小时执行一次

2、crond服务

安装crond命令:yum install crontabs

服务操作命令:

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //启动服务

查看开机启动服务:ntsysv

加入开机启动:chkconfig -level 35 crond on

3、crontab命令详解

crontab命令可以在指定时间执行指定的命令或者shell脚本。

crontab --help
usage: crontab [-u user] file
 crontab [-u user] [ -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)
 -s (selinux context)

-u user  :  设定某个用户的crontab服务,如"-u root" 表示设定root用户的crontab服务

-e  :  编辑某个用户的crontab文件,不使用-u指定则表示编辑当前用户的crontab文件,下同

-l  :  显示某个用户的crontab文件内容

-r   :  从/var/spool/cron/目录中删除某个用户的crontab文件

-i  :  删除某用户的crontabz文件前提示用户

-s  :  selinux内容

4、举例:

每周一,三,五的下午3:00系统进入维护状态,重新启动系统。

0 15 * * 1,3,5 shutdown -r +5

每小时的1分执行用户目录下的bin/account这个指令:

1 * * * * bin/account

每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):

20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)

每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。

12,55 3 5-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt

每天一个Linux命令—— crontab的更多相关文章

  1. 每天一个linux命令目录

    出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  2. 每天一个linux命令-转载

    每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html   开始详细系统的学习linux常用命令 ...

  3. [转]每天一个linux命令目录

    [转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...

  4. 每天一个Linux命令 (转)

    一. 文件目录操作命令: 1.每天一个linux命令(1):ls命令 2.每天一个linux命令(2):cd命令  3.每天一个linux命令(3):pwd命令 4.每天一个linux命令(4):mk ...

  5. 每天一个linux命令【转】

    转自:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  6. 每天一个linux命令(目录)

    转:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天 ...

  7. 【转】每天一个linux命令目录

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列 ...

  8. 64个命令,每天一个linux命令目录, shutdown,tee,rcp,

    每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.htt ...

  9. 【转载】每天一个Linux命令

    目  录 每天一个linux命令(1)  : ls 命令 每天一个linux命令(2)  : cd 命令 每天一个linux命令(3)  : pwd 命令 每天一个linux命令(4)  : mkdi ...

随机推荐

  1. 使用gulp编译sass

    之前写了一篇在ruby环境下如何编译sass的文章:<css预处理器sass使用教程(多图预警)>,随着现在前端构建工具的兴起,也学着使用这些工具来编译sass.webpack存在一个CS ...

  2. MySQL执行计划总结

    背景 在工作过程中,最近时常对慢查询进行调优.对于MySQL的SQL语句调优,MySQL本身提供了强大的explain关键字用于查询分析执行计划. 本文对explain执行计划进行分析与整理,文中的内 ...

  3. GreenDao教程1

    最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个框架还是不错的.直接面向对象的,可以通过对对象的操作,实现数据的存储. 但是官网上的API是在不敢恭维,文档写的很糙,看了半天,才搞懂一 ...

  4. Html5-audio标签简介及手机端不自动播放问题

    1.audio:html5音频标签 <audio loop src="/photo/aa.mp3" id="audio" autoplay preload ...

  5. IT软件开发中常用的英语词汇

    Aabstract 抽象的abstract base class (ABC)抽象基类abstract class 抽象类abstraction 抽象.抽象物.抽象性access 存取.访问access ...

  6. CSS3 基础知识[转载minsong的博客]

    CSS3 基础知识1.边框    1.1 圆角  border-radius:5px 0 0 5px;    1.2 阴影  box-shadow:2px 3px 4px 5px rgba(0,0,0 ...

  7. AIX误删除LV后如何进行现场保护和数据恢复工作

    在AIX环境下,若因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并 ...

  8. PHP怎么打开或者关闭文件?

    什么是文件处理? 文件处理包括读取,关闭,重写等.掌握文件的处理需要读者理清思路,掌握好文件处理的关键步骤和常用函数,那么就可以运用自如了!感兴趣的请移步php文件处理专题. 比如,访问一个文件需要 ...

  9. openlayers应用“三”:百度地图纠偏

    前两篇文章介绍了openlayers3加载百度在线和离线瓦片地图,页面上能够正常显示.地图加载后在地图上显示一条GPS轨迹,发现离实际位置相差太远,如下图所示: 轨迹形状和实际形状相同,但是位移太远, ...

  10. 数据转换d2d.js

    d2d.js what? d2d是data2data的简写,用来转换为符合需求的data. why? 我们在开发中定义好了的接口字段,后端工程可能因某些原因修改了字段, 或者我们用的插件或组件用到的数 ...