linux定时器crontab的使用教程

所属分类: 脚本专栏 / linux shell 阅读数: 710
收藏 0 赞 0 分享

编辑:crontab –u root –e

列表:crontab –u root –l

删除:crontab –u root –r

每五分钟执行  */5 * * * *

每小时执行     0 * * * *

每天执行        0 0 * * *

每周执行       0 0 * * 0

每月执行        0 0 1 * *

每年执行       0 0 1 1 *

*/1   *     *     *     *     ls >>/tmp/ls.txt

1.作用

使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。

2.格式

crontab [-u user] {-l | -r | -e}

3.主要参数

-e:执行文字编辑器来设定时程表,内空的文字编辑器是vi

-r:删除目前的时程表

-l列出目前的时程表。

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三个环境变量。

使用cron服务,用server crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或编辑需要定时执行的任务:

crontab –u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

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

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

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

crontab filename //以filename作为crontab的任务列表文件并载入

比如说root查看自己的cron设置:crontab –u root –l

再例如,root想删除fred的cron设置:crontab –u fred –r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab –u root –e

进入vi编辑模式,编辑的内容一定要符合下面的格式:

*/1   *     *     *     *     ls >>/tmp/ls.txt

编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6这样就将系统配置为每天早上5点30分自动重新启动。

crontab 文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间

分钟(0-59)

小时(0-23)

日期(1-31)

月份(1-12)

星期几(0-6,其中0代表星期日,好像7也代表星期日)

第6个字段是一个要在适当时间执行的字符串。

例子:

#MIN      HOUR     DAY       MONTH  DAYOFWEEK       COMMAND

#每天早上6点10分

10    6     *     *     *     date

#每两个小时

0     */2   *     *     *     date

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

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

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

0     11    4     *     1-3  date

#1月1日早上4点

0     4     1     1       *  date

补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

(1)       先建一个文件crond.txt如下,每天早上5点36分重新启动

36      5     *     *     *     reboot

(2)上传到/opt目录

(3)运行命令

crontab /opt/crond.txt

crontab –l

让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。

在Fedora和Redhat中,我们应该用:

/etc/rc.d/crond restart

如果让crond在开机时运行,应该改变其运行级别:

chkconfig –level 35 crond on

service crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务

以上所述是小编给大家介绍的linux定时器crontab的使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

linux whatis与whatis database 使用及查询方法(man使用实例)

在学习man命令时候,估计很多朋友都发现有man –f ,man –k 参数,可以查出很多数据。这些有的与man手册页相同,有些不是属于手册页的。它们数据怎么收集来的,并且whatis是怎么样工作的
收藏 0 赞 0 分享

linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)

这篇文章主要介绍了linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell命令快捷获得系统帮助(一)[man-pages定义规范]

linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅
收藏 0 赞 0 分享

linux shell实现随机数几种方法分享(date,random,uuid)

这篇文章主要介绍了linux shell实现随机数多种方法(date,random,uuid),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 脚本实现tcp/upd协议通讯(重定向应用)

这篇文章主要介绍了linux shell 脚本实现tcp/upd协议通讯(重定向应用),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell数据重定向(输入重定向与输出重定向)详细分析

这篇文章主要介绍了linux shell数据重定向(输入重定向与输出重定向)详细分析,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 管道命令(pipe)使用及与shell重定向区别

这篇文章主要介绍了linux shell 管道命令(pipe)使用及与shell重定向区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux下使用tcpdump抓包的实现方法

tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。这篇文章主要介绍了Linux下使用tcpdump抓包的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

零基础入门篇之Linux及Arm-Linux程序开发笔记

这篇文章主要介绍了零基础入门篇之Linux及Arm-Linux程序开发笔记,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux 中 CURL常用命令详解

这篇文章主要介绍了Linux 中 CURL常用命令详解,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多