`

linux crontab 命令

阅读更多

crontab 命令

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是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

现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

1、直接用crontab命令编辑

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

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务


比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

这 个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以 了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:

每天早上6点

0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

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

0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

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

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

每 次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件 中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文 件修改后不需要重新启动cron服务。

2、编辑/etc/crontab 文件配置cron

cron服务每分钟不 仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用 cron服务做一些事 情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin  

MAILTO=root      //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/    //使用者运行的路径,这里是根目录

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

--------------------------------------

基本格式 :
*  *  *  *  *  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重启lighttpd 。

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

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

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

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

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

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

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

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

分享到:
评论
1 楼 qianjigui 2009-04-10  
建议大家在使用时,对于command line 的自定义脚本文件使用完整路径。

相关推荐

    Linux crontab 命令格式与详细例子

    ### Linux Crontab命令详解与应用实例 Cron是Linux系统中的一个守护进程,用于调度周期性执行的任务或脚本。Cron通过读取每个用户的crontab文件来确定哪些任务需要被执行,以及何时执行。本文将深入解析Crontab命令...

    Linux crontab 命令格式.docx

    Linux crontab 命令格式详解 Linux 中的 crontab 命令是一种定时任务管理工具,允许用户在固定时间或固定间隔执行程序。crontab 命令的基本格式为:`* * * * * command`,其中每个星号 (`*`) 代表不同的时间单位,...

    Linux Crontab 定时任务 命令详解

    Linux Crontab 定时任务 命令详解 Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。...

    Linux crontab 命令用法详解

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

    Linuxcrontab 命令的使用

    Linuxcrontab命令是Linux系统中用于管理周期性任务的重要工具,它类似于Windows下的计划任务。crontab命令使得用户可以设置定期执行的作业,这些作业由后台的`crond`守护进程负责监控和执行。当系统安装完成后,`...

    Linux crontab 命令格式与详细示例(推荐)

    Linux中的`crontab`命令是一个非常强大的工具,它允许用户按照预定的时间间隔安排任务的自动执行。在Linux系统管理中,`crontab`是不可或缺的一部分,特别适合自动化日常维护工作,如备份、清理日志、数据同步等。...

    linux C7 crontab离线安装包

    在Linux系统中,Crontab(也称为cron table)是一个非常重要的工具,用于安排周期性的任务,例如定期备份、日志清理、系统维护等。在Linux CentOS 7(C7)环境中,通常使用RPM(Red Hat Package Manager)包管理系统...

    linux下crontab命令

    Linux 下 Crontab 命令 Crontab 是 Linux 中一个非常强大的功能,它允许用户在固定时间或固定间隔执行某个程序。Crontab 命令是用来设置和管理这些自动执行程序的。下面是 Crontab 命令的详细介绍: 语法 Crontab...

    Linux的定时任务crontab命令怎么用.pdf

    Linux中使用crontab命令实现定时任务 在Linux系统中,crontab命令是一个非常有用的工具,它可以帮助用户实现定时任务的执行。通过crontab命令,用户可以在指定的时间执行特定的命令或程序,这使得系统管理员可以更...

    crontab命令格式与例子

    ### crontab命令格式与例子解析 #### 一、crontab简介 `crontab` 是 Linux 和 Unix-like 操作系统中一个非常重要的工具,用于设置周期性执行的任务。通过编写 crontab 文件(cron job),用户可以指定某个脚本或...

    linux crontab 计划任务.docx

    Linux Crontab 是一个强大的计划任务系统,允许用户在特定的时间和日期执行指定的命令或程序。Crontab 使得用户可以轻松地安排和管理计划任务,从而提高工作效率和自动化程度。 Crontab 命令 Crontab 命令是 ...

    Linux的定时任务crontab命令怎么用.docx

    Linux 的定时任务 crontab 命令怎么用 Linux 的定时任务 crontab 命令是 Linux 系统中的一种非常重要的功能,它允许用户设置定时任务,自动执行指定的命令或程序。下面我们将详细介绍 crontab 命令的使用方法和...

    linux crontab 详解

    ### Linux Crontab 详解 #### 一、Cron与Crontab简介 在Linux系统中,`cron` 是一个后台服务程序(daemon),用于调度周期性任务。它按照预定的时间间隔执行用户定义的任务,例如运行脚本或执行命令等。`crontab` ...

    Linux下crontab命令的用法[归类].pdf

    Linux下crontab命令的用法 crontab命令是Linux系统下的定时任务触发器,它允许用户设置定期执行的任务。crontab命令的使用非常广泛,包括系统执行的工作和个人执行的工作。 系统执行的工作 系统执行的工作是指...

    linux定时执行,crontab命令使用介绍借鉴.pdf

    Linux 定时执行 Crontab 命令使用介绍借鉴 Linux 系统中的 Crontab 命令是一个非常有用的工具,用于在指定的时间执行某个任务或命令。Crontab 命令是基于 Cron 服务的,它可以让用户在指定的时间执行某个任务,例如...

    crontab命令的用法

    关于linux命令crontab的用法,自己总结的 包含简单的用法

    crontab命令详解

    ### crontab命令详解 #### 一、引言 `crontab` 是 Linux 和 Unix 系统中用于定时执行任务的重要工具。通过 `crontab`,用户可以在指定的时间间隔内自动执行脚本或者命令,这对于自动化运维、数据备份等场景非常...

    Linux学堂 Crontab命令的实用方法

    Crontab命令是Linux操作系统中用于管理定时任务的重要工具,它允许用户设置周期性被执行的任务。这些任务可以是系统维护、数据备份或是其他自动化任务。Crontab命令提供了方便的方式来创建、查看和删除这些定时任务...

    Linux定时脚本crontab中文乱码.docx

    Linux 系统中的定时脚本 crontab 是一个功能强大的工具,允许用户在指定的时间执行特定的命令或脚本。然而,在使用 crontab 执行 jar 文件时,如果输出结果包含中文字符,可能会出现乱码问题。本文将探讨该问题的...

Global site tag (gtag.js) - Google Analytics