`
085567
  • 浏览: 213434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux crontab命令详解

阅读更多

本文介绍了linux下cron(任务计划)的常用使用方法。

linux crontab 的格式

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache



名称 : crontab 

使用权限 : 所有使用者 

使用方式 : 

crontab file [-u user]-用指定的文件替代目前的crontab。 

crontab-[-u user]-用标准输入替代目前的crontab. 

crontab-1[user]-列出用户目前的crontab. 

crontab-e[user]-编辑用户目前的crontab. 

crontab-d[user]-删除用户目前的crontab. 

crontab-c dir- 指定crontab的目录。 

crontab文件的格式:M H D m d cmd. 



M: 分钟(0-59)。 

H:小时(0-23)。 

D:天(1-31)。 

m: 月(1-12)。 

d: 一星期内的天(0~6,0为星期天)。 

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量

说明 : 

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 





参数 : 

crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) 

crontab -r : 删除目前的时程表 

crontab -l : 列出目前的时程表 

crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式如下 : 

f1 f2 f3 f4 f5 program 

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推 

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 

例子 : 

#每天早上7点执行一次 /bin/ls : 

0 7 * * * /bin/ls 

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup : 

0 6-12/3 * 12 * /usr/bin/backup 

周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata 

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 

20 0-23/2 * * * echo "haha" 

注意 : 

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可



例子2 :

#每天早上6点10分 

10 6 * * * date 

#每两个小时 

0 */2 * * * date 

#晚上11点到早上8点之间每两个小时,早上8点 

0 23-7/2,8 * * * date 

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 

0 11 4 * mon-wed date 

#1月份日早上4点 

0 4 1 jan * date 

范例 

$crontab -l 列出用户目前的crontab

    如需转载请注明:转载自: 风往北吹的IT博客 [http://blog.yahunet.com/]
    本文链接地址: http://blog.yahunet.com/post-39.html

 

分享到:
评论

相关推荐

    Linux Crontab 定时任务 命令详解

    crontab命令的功能是在一定的时间间隔调度一些命令的执行。

    linux crontab 详解

    linux crontab 详解,共享快乐

    Linux crontab 命令用法详解

    Linux crontab 命令 Linux crontab是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 ...

    Linux——Crontab使用详解.docx

    Crontab 命令详解

    Linux定时执行任务at和crontab命令详解

    本篇文章主要介绍了Linux定时执行任务at和crontab命令这两个命令的基本用法和区别,一起学习下。

    crontab用法详解

    Linux命令之 crontab 用法详解。

    LINUX命令大全之CRONTAB命令使用详解.pdf

    ...

    linux进阶版命令详解

    对使用linux的新手来说,是linux一些常用命令的一些合集,有兴趣的朋友可以看一下 1、awk详解.txt 2、crontab定时器.txt 3、sed详解.txt 4、sort-cut-wc详解.txt

    LINUX常用命令详解

    1. cd 2. pwd 3. ls 4. passwd 5. who 6. cat 7. mkdir ...24. crontab 25. sleep 26. kill 27. ps pstree 28. top 29. expr 30. locate 31. split 33. man,info 34. alias 35. unalias 36. clear

    Linux定时任务Crontab命令使用详解与总结

    本为大家介绍了Linux定时任务Crontab命令使用详解并总结Crontab命令的一些使用技巧以及工作中遇到的一些问题解决方法

    cron和crontab概念详解

    在大多数系统上,你必须得到系统管理员权限才可以提交...一些共享的系统上,因为只有一个crontab文件,只有管理员访问 crontab命令。为了您的Webserve帐户中启用请求的 cron,请参阅美国印第安纳大学网管 的 cron页面。

    Linux定时任务Crontab详解(推荐)

    Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。...

    Linux下的crontab定时执行任务命令详解

    cron的配置文件称为“crontab”,是“cron table”的简写。这篇文章主要介绍了Linux下的crontab定时执行任务命令详解,需要的朋友可以参考下

    linux定时任务命令之crontab

    crontab介绍,命令详解。使用说明格式说明例子说明

    详解Unix/Linux中周期执行指令Crontab命令

    大家都知道Crontab是 Unix/Linux中用于设置周期执行指令的命令。如果我们需要定期执行某些任务,除了让任务常驻外,更方便的方法是让crontab来...下面通过这篇文章我们来详细介绍Crontab命令,有需要的一起来看看吧。

    crontab详解.docx

    linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此...另外, 由于用户自己也可以设置计划任务,所以,Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

    详解Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件,Symbolic Link 文件则常被称为符号链接、软链接文件。 ln 命令用来在文件之间建立链接。在介绍 ln 命令前,...

Global site tag (gtag.js) - Google Analytics