`

crontab

 
阅读更多
crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。

crontab命令有三种形式的命令行结构:

crontab [-u user] [file]

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

crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。

命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab;

命令行中-l选项的作用是显示用户crontab文件的内容。

使用命令crontab -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。

执行命令crontab -u user -r即可删除当前用户的所有的cron作业。

作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以spaces和tabs分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。

第一道第五个字段的整数取值范围及意义是:

0~59 表示分

1~23 表示小时

1~31 表示日

1~12 表示月份

0~6 表示星期(其中0表示星期日)

/usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。



crontab file的格式:

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

  分钟 (0-59)

  小时 (0-23)

  日期 (1-31)

  月份 (1-12)

  星期几(0-6,其中 0 代表星期日)

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

  例子:

  #MIN HOUR DAY MONTH DAYOFWEEK COMMAND

  #每天早上6点10分

  10 6 * * * date

  #每两个小时

  0 */2 * * * date (solaris 5.8似乎不支持此种写法)

  #晚上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的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

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

  36 5 * * * reboot

  (2)上传到/opt目录

  (3)运行命令

  crontab /opt/crond.txt

  crontab -l

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

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

  [root@localhost ~]# /etc/init.d/crond restart

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

  [root@localhost ~]# chkconfig --levels 35 crond on

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

分享到:
评论

相关推荐

    linux C7 crontab离线安装包

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

    centos7 crontab 安装包

    【标题】:“CentOS7 Crontab安装包” 在Linux系统中,`cron`是一个用于自动化任务调度的强大工具,而`crontab`是管理这些定时任务的命令。在CentOS7环境中,为了使用`crontab`服务,首先需要安装相关的软件包。...

    crontab-46.1.tar.gz

    `crontab`是Unix/Linux系统中用于设置周期性被执行任务的命令,它允许用户根据预定义的时间间隔安排任务。在MACOSX上,虽然它不是内置的,但可以通过安装来实现。`crontab-46.1.tar.gz`是一个压缩包文件,包含了源...

    redhatlinux6 Crontab安装

    在Red Hat Linux 6操作系统中,Crontab是一个不可或缺的工具,它允许用户安排定期的任务,比如备份、日志清理、系统维护等。Crontab的安装涉及两个关键的软件包,分别是`vixie-cron`和`cronie-anacron`。以下是关于...

    crontab离线包.zip

    在Linux系统管理中,`crontab`是一个不可或缺的工具,它允许系统管理员以及普通用户设置周期性执行的任务。这个“crontab离线包.zip”包含的是与`crontab`相关的软件包,用于在Linux环境中安装和管理任务调度。资源...

    x86架构crontab离线rpm安装包以及依赖

    在IT领域,尤其是在服务器管理中,`crontab` 是一个不可或缺的工具,它用于设置周期性的任务调度,比如定期备份、系统维护等。在这个场景中,标题提到的"**x86架构crontab离线rpm安装包以及依赖**"意味着我们将探讨...

    在windows下配置crontab

    【在Windows下配置crontab】的知识点主要集中在如何在Windows环境中使用Cygwin来实现类似于Linux中的计划任务管理。Crontab是Linux和Unix系统中用于管理周期性任务的工具,而在Windows系统中,由于Dos Scripts的功能...

    centos6.9定时任务crontab离线安装包

    在Linux系统中,`crontab` 是一个用于设置周期性被执行的任务的命令,它允许用户根据特定的时间间隔安排任务的执行。在CentOS 6.9这样的旧版本系统中,有时可能会遇到`yum`无法在线获取或更新`crontab`的情况。这...

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

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

    Go开发的crontab 代替linux原生crontab.zip

    在嵌入式Linux开发中,经常需要进行定时任务的管理,传统的解决方案是利用Linux的原生`crontab`工具。然而,在某些情况下,如在资源有限的嵌入式设备上,可能需要更轻量级的替代方案。"Go开发的crontab 代替linux...

    crontab离线安装及依赖

    crontab离线安装及依赖rpm包 cronie-1.4.4-16.el6_8.2.x86_64.rpm cronie-anacron-1.4.4-16.el6_8.2.x86_64.rpm crontabs-1.10-33.el6.noarch.rpm cyrus-sasl-2.1.23-15.el6_6.2.x86_64.rpm logrotate-3.7.8-28.el6....

    thinkphp 5.1 定时任务,Crontab 计划任务-think-cron.zip

    本教程将深入探讨如何在ThinkPHP 5.1中配置和使用Crontab计划任务,即think-cron功能。 一、ThinkPHP 5.1中的定时任务 在ThinkPHP 5.1中,定时任务通常被称为计划任务,它们允许开发者设置定期执行的任务,而无需...

    crontab计划任务的使用方法

    **Crontab计划任务的使用方法** Crontab(cron table)是Unix和类Unix操作系统中的一种调度服务,用于设置周期性执行的任务。它的工作原理是通过守护进程`crond`来激活定时任务,这些任务被称为cron jobs。下面将...

    suse linux crontab 任务计划 sh文件不能执行分析

    在Linux系统中,`crontab` 是一个强大的任务调度工具,用于自动化周期性的系统或用户任务。然而,有时我们可能会遇到这样的问题:在终端中能够正常运行的shell脚本(`.sh` 文件),在通过`crontab` 安排时却无法执行...

    crontab命令格式与例子

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

    Linux crontab 命令格式与详细例子

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

    使用linux命令crontab间隔时间执行其它命令

    1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如: 代码如下:[root@dave ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin...

    Linux中使用crontab自动清除日志

    Linux 中使用 crontab 自动清除日志 Linux 中使用 crontab 自动清除日志是一种常见的日志管理方法。crontab 命令是 Unix 和类 Unix 操作系统中设置周期性被执行的指令的命令。该命令从标准输入设备读取指令,并将其...

    crontab –e使用实操

    Crontab 使用实践 在本文中,我们将详细介绍 Crontab 的使用,并将其与 MySQL 的备份结合,实现自动定时启动 MySQL 备份 shell 脚本。 什么是 Crontab Crontab 是一个在 Unix 和类 Unix 系统中用于计划作业的工具...

    Linux Crontab 定时任务 命令详解

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

Global site tag (gtag.js) - Google Analytics