`
leiwuluan
  • 浏览: 705084 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

linux crontab 简单使用

 
阅读更多

crontab -l 查看所有 任务
10 * * * * (cd /home/co_family/st_stat/ranat; sh log_ct.sh >> /home/coesmily/swstat/rantat/logs/log_ect.log)

 

 

1、5个星号:分(1~59)|时(1~23)|日(1~31)|月(1~12)|周(0~6)

 

 

 

 

 

命令简介
  crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。
  通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。


  crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
  crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。


语法介绍
  使用权限 : root用户和crontab文件的所有者
  
 
crontab格式
语法 :
  crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
  说明 :
  crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
  -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  -r [UserName]: 删除目前的时程表
  -l [UserName]: 列出目前的时程表
  -v [UserName]:列出用户cron作业的状态
  时程表的格式如下 :
  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 的方式来设定时程表。
  由于unix版本不一样,所以部分语法有差别,例如在hp unix aix 中设定间隔执行如果采用*/n 方式将出现语法错误,在这类unix中 ,间隔执行只能以列举方式,详请见例子。

 

使用方法:
  用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。
  在命令行输入
  $: crontab cronfile
  这样就将cronfile文件提交给c r o n进程,同时,新创建cronfile的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名。
  例子 :
  每月每天每小时的第 0 分钟执行一次 /bin/ls :
  0 * * * * /bin/ls
  在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
  */20 6-11 * 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"
  晚上11点到早上8点之间每两个小时,早上8点
  0 23-7/2,8 * * * date
  在hp unix,中,每20分钟执行一次,表示为:0,20,40 * * * * 而不能采用*/n方式,否则出现语法错误
  注意 :
  1. 当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。
  2. %在crontab中被认为是newline,要用\来escape才行。比如crontab执行行中,如果有"date +%Y%m%d",必须替换为:"date +\%Y\%m\%d"
创建crontab?
  在考虑向cron进程提交一个crontab文件之前,首先要做的一件事情就是设置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑 crontab文件。99 %的UNIX和LINUX用户都使用vi,如果你也是这样,那么你就编辑$HOME目录下的.profile文件,在其中加入这样一行:
  EDITOR=vi; export EDITOR
  然后保存并退出。
  不妨创建一个名为<user>cron的文件,其中<user>是用户名,为了提交你刚刚创建的crontab文件,可以把这个新创建的文件作为cron命令的参数:
  $ crontab davecron
  现在该文件已经提交给cron进程,同时,新创建文件的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名(即,dave)。
列出crontab文件
  为了列出crontab文件,可以用:
  $crontab -l
编辑crontab文件
  如果希望添加、删除或编辑crontab文件中的条目,而EDITOR环境变量又设置为vi,那么就可以用vi来编辑crontab文件,相应的命令为:
  $ crontab -e
  可以像使用vi编辑其他任何文件那样修改crontab文件并退出。
删除crontab文件
  为了删除crontab文件,可以用:
  $ crontab -r
恢复丢失的crontab文件
  如果不小心误删了crontab文件,假设你在自己的$HOME目录下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>,其中<username >是用户名。如果由于权限问题无法完成拷贝,可以用:
  $ crontab <filename>
  其中,<filename>是你在$HOME目录中副本的文件名。

 

 

 

 

 

分享到:
评论

相关推荐

    Linux Crontab 定时任务 命令详解

    例如,以下是一个简单的 Crontab 文件: ``` 59 23 * * * * /path/to/command ``` 这将在每天晚上 11 点 59 分执行 `/path/to/command` 命令。 3. Crontab 命令使用 Crontab 命令提供了多种选项和参数,可以对 ...

    linux定时器crontab的使用教程

    总之,Linux的crontab提供了一种灵活的方式来自动化执行定期任务,无论是简单的命令还是复杂的脚本,都可以通过精心设计的时间格式安排在任意时刻执行。理解并掌握crontab的使用,对于日常的系统维护和自动化工作...

    linux crontab 实现每秒执行的实例

    linux crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复执行,可以有两个方法实现。 1、使用延时来实现每N秒执行 创建一个php做执行动作,非常简单,就是把当前时间写入log。 &lt;?php file_put_...

    linux crontab用法

    创建Crontab文件的过程非常简单。首先,使用文本编辑器如vim或nano创建一个包含任务列表的新文件,例如`/tmp/test.cron`。在这个文件中,每一行代表一个任务,格式如下: ``` minute hour day-of-month month day-...

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

    总结来说,`crontab`是Linux中管理定时任务的强大工具,通过灵活的时间表达式和简单的命令行操作,能够方便地自动化各种周期性任务。正确理解和使用`crontab`,可以极大地提高Linux系统的管理和维护效率。

    Linux系统计划任务crontab命令简单介绍linux操作系统电脑资料.doc

    Linux系统计划任务crontab命令简单介绍 Linux系统计划任务crontab命令是Linux操作系统中的一种常用工具,用于实现自动化任务调度。crontab命令可以让用户设定在某个特定时间执行某个命令或脚本,从而实现自动化任务...

    linux crontab实例分析

    总的来说,`cron`是Linux系统中不可或缺的一部分,它使得自动化维护和定期任务执行变得简单高效,为系统管理和运维提供了强大支持。正确理解和使用`cron`及`crontab`命令,能够帮助用户更有效地安排和执行定时任务。

    Liunx系统定时删除任务,定时清理日志,定时清理任务

    本篇文章将深入讲解如何利用Linux的crontab工具设置定时删除任务,特别是针对日志文件的清理。 首先,我们需要了解`crontab`这个命令。`crontab`是Linux下的一个计划任务调度命令,它允许用户定义周期性的任务。每...

    Linux系统计划任务crontab命令简单介绍.docx

    Linux 系统计划任务 crontab 命令简单介绍 Linux 系统计划任务 crontab 命令简单介绍 Linux 计划任务 cron 是一个定时模式,例如我们可以在系统使用最少时对系统进行备份,但是管理员不可能在半夜来到公司工作,...

    linux定时执行crontab.docx

    总的来说,`crontab`是Linux系统中不可或缺的工具,它使得定期执行自动化任务变得简单而有效,广泛应用于系统维护、数据备份、日志清理等场景。正确理解和使用`crontab`对于提高运维效率至关重要。

    Linux定时执行程序Crontab.pdf

    Linux定时执行程序Crontab是Linux系统中一个...掌握Crontab的使用技巧,能够极大地提高Linux系统的自动化管理水平,确保关键任务按预定时间准确执行。通过灵活配置Crontab,你可以实现从简单到复杂的各种定时任务需求。

    在windows下配置crontab

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

    利用rsync+crontab实现Linux的定时增量备份

    rsync服务器的搭建相对简单,由于每个管理员的需求可能不同,因此许多Linux发行版仅提供软件安装,不包含预配置的服务器设置。rsync服务器的用途广泛,既可以在本地进行备份,也可以跨主机进行备份。对于重要的...

    linux定时任务crontab 实现每秒执行一次的方法

    Linux的`crontab`命令是系统管理员用于设置周期性被执行的任务的工具,它遵循一种特定的时间格式来安排任务。然而,标准的`crontab`配置不支持每秒执行一次的任务,因为其最小的时间单位是一分钟。通常,`crontab`的...

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

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

    celery+ rabbitMq + python linux 下 例子 crontab例子

    标题 "celery+ rabbitMq + python linux 下 例子 crontab例子" 涉及的是在Linux环境下使用Python的Celery分布式任务队列和RabbitMQ消息中间件结合使用,以及如何配合crontab进行定时任务的设置。下面将详细讲解这些...

    crontab命令的用法

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

    crontab使用方法crontab使用方法

    ### Crontab 使用方法详解 #### 一、概述 Crontab是Linux系统中的一个非常重要的工具,主要用于调度定时任务。通过crontab,用户可以设置周期性执行的任务,例如定期备份数据、发送电子邮件报告等。它使得系统管理...

    linux使用crontab实现PHP执行计划定时任务

    安装Crontab服务的方法简单,通常使用包管理器如yum: ``` yum install crontabs ``` 安装完成后,可以使用以下命令来管理Crontab服务: ``` /sbin/service crond start // 启动服务 /sbin/service crond stop // ...

    利用rsync+crontab实现Linux的定时增量备份.docx

    本文主要讲述如何使用 rsync 工具和 crontab 实现 Linux 的定时增量备份。rsync 是一个快速增量文件传输工具,可以用于在同一主机备份内部的备份,也可以作为不同主机网络备份工具之用。 1. rsync 介绍 rsync 是一...

Global site tag (gtag.js) - Google Analytics