Linux下crontab命令的用法

合集下载

crontab的用法

crontab的用法

crontab的用法
crontab命令可以从输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

通常,crontab储存的指令被守护进程激活,crond为其守护进程,crond在后台运行,每一分钟检查一次是否有预
定的作业需要执行。

通过crontab命令,我们可以在固定的间隔时间
执行指定的系统指令或者shell script脚步等。

时间间隔的单位可以
是分钟、小时、日、月、周的组合。

以下是crontab命令的一些常见用法:
1. 添加计划任务:
crontab -e
2. 选择编辑工具:
nano、vim、emacs等
3. 在最后一行添加任务命令:
command
这里的命令可以是系统指令或者shell script脚步等。

4. 保存退出后,可以在终端中输入以下命令查看添加的任务:
crontab -l
5. 如果需要删除任务,可以使用以下命令:
crontab -r
6. 指定crontab的目录:
css
crontab -c dir。

crontab案例

crontab案例

crontab案例Crontab是一个在Unix和类Unix操作系统上用于设置定期执行任务的工具。

它允许用户按照指定的时间间隔自动运行命令或脚本。

下面我将给出几个Crontab的案例,以展示不同的用法和角度。

1. 示例一,每天定时备份文件。

0 0 cp /path/to/source /path/to/destination.这个例子表示在每天的午夜12点整,将`/path/to/source`目录下的文件备份到`/path/to/destination`目录中。

2. 示例二,每隔一小时运行脚本。

0 /path/to/script.sh.这个例子表示每小时的整点时刻,运行`/path/to/script.sh`脚本。

3. 示例三,每周五定时清理日志文件。

0 0 5 rm /path/to/logs/.log.这个例子表示在每周五的午夜12点整,删除`/path/to/logs/`目录下的所有`.log`文件。

4. 示例四,每月定时发送邮件通知。

0 9 1 echo "请记得支付账单" | mail -s "账单提醒"****************.这个例子表示在每月的1号上午9点整,向`****************`发送一封邮件,提醒用户支付账单。

5. 示例五,每分钟记录系统负载信息到日志文件。

uptime >> /path/to/load.log.这个例子表示每分钟将系统的负载信息追加记录到`/path/to/load.log`文件中。

这些只是几个Crontab的简单案例,实际上,Crontab非常灵活,可以根据具体需求定制各种定时任务。

通过合理设置Crontab,可以实现自动化、定期执行的任务,提高工作效率。

linux中cron用法

linux中cron用法

linux中cron用法引言概述:Linux中的cron是一个非常重要的工具,它可以帮助我们自动化执行任务。

无论是系统维护还是日常工作,cron都能够提高效率和准确性。

本文将详细介绍Linux中cron的用法,包括设置定时任务、编辑cron表达式、查看和管理任务等。

正文内容:1. 设置定时任务1.1. 使用crontab命令:通过crontab命令可以编辑和管理用户的cron表。

可以使用crontab命令创建、编辑和删除定时任务。

1.2. 编辑cron配置文件:在Linux系统中,还可以直接编辑cron配置文件来设置定时任务。

这种方法适用于需要同时管理多个用户的定时任务。

2. 编辑cron表达式2.1. 分钟和小时字段:cron表达式中的分钟字段和小时字段分别用来指定任务执行的分钟和小时。

可以使用星号表示任意值,也可以使用逗号分隔多个值。

2.2. 日期和月份字段:除了分钟和小时字段,cron表达式还包括日期和月份字段,用来指定任务执行的日期和月份。

可以使用星号、逗号和连字符来设置多个值或范围。

2.3. 星期字段:在一些情况下,我们可能还需要指定任务在特定的星期几执行。

星期字段可以用来设置任务的执行日期。

同样,可以使用星号、逗号和连字符来设置多个值或范围。

3. 查看和管理任务3.1. 查看当前用户的定时任务:可以使用crontab命令的-l选项来查看当前用户的定时任务列表。

3.2. 查看所有用户的定时任务:root用户可以使用crontab命令的-u选项来查看其他用户的定时任务列表。

3.3. 管理任务:除了查看定时任务,我们还可以使用crontab命令的-e选项来编辑任务,使用-r选项来删除任务。

总结:在Linux中,cron是一个非常强大的工具,它可以帮助我们自动化执行任务。

本文从设置定时任务、编辑cron表达式、查看和管理任务等方面详细介绍了Linux 中cron的用法。

通过合理使用cron,我们可以提高工作效率和准确性,使得任务的执行更加方便和自动化。

crontab语法转换

crontab语法转换

crontab语法转换全文共四篇示例,供读者参考第一篇示例:Crontab是一个在Linux系统中用于执行定时任务的工具,通过crontab定时任务可以实现自动化的运维管理。

在实际使用中,我们需要根据具体需求来编写crontab语法,以达到预期的定时执行效果。

在本文中,我将向大家介绍crontab语法的基本结构,并提供一些常用的crontab语法示例,以便大家更好地理解和使用这一强大的定时任务工具。

一、crontab语法基本结构1. crontab命令格式在Linux系统中,我们可以通过crontab命令来编辑和管理定时任务,其基本格式如下:```crontab [选项]```crontab命令的常用选项包括:- `-e`:编辑当前用户的定时任务- `-l`:列出当前用户的定时任务- `-r`:删除当前用户的定时任务在编辑定时任务时,我们需要使用特定的格式来描述任务的执行时间。

crontab定时任务格式如下:```* * * * * command```每个`*`代表一个时间字段,具体含义如下:- 第一个`*`:分钟(取值范围为0-59)- 第二个`*`:小时(取值范围为0-23)- 第三个`*`:日期(取值范围为1-31)- 第四个`*`:月份(取值范围为1-12)- 第五个`*`:星期几(0表示星期日,1-6表示星期一至星期六)在这里,我们可以通过设置不同的时间字段来描述不同的执行时间规则,从而实现精确的定时任务运行效果。

1. 每天凌晨1点执行脚本要实现每天凌晨1点执行脚本的效果,我们可以使用如下crontab 语法:```0 1 * * * /path/to/script.sh```在这里,`0`表示分钟为0,`1`表示小时为1,`*`表示日期、月份和星期几均为通配符,`/path/to/script.sh`表示要执行的脚本路径。

2. 每周一至周五早上9点半执行任务3. 每个月的1号和15号凌晨2点执行任务三、注意事项在编写crontab定时任务时,务必要仔细理解各个时间字段的含义,避免出现错误的定时任务规则。

linux_下的crontab如何使用

linux_下的crontab如何使用

linux 下的crontab如何使用crontab命令的功能是在一定的时间间隔调度一些命令的执行。

在/etc目录下有一个crontab 文件,这里存放有系统运行的一些调度程序。

每个用户可以建立自己的调度crontab。

cron 的主配置文件是/etc/crontab,它包括下面几行:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly前四行是用来配置cron 任务运行环境的变量。

SHELL 变量的值告诉系统要使用哪个shell 环境(在这个例子里是bash shell);PATH 变量定义用来执行命令的路径。

cron 任务的输出被邮寄给MAILTO 变量定义的用户名。

如果MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。

HOME 变量可以用来设置在执行命令或脚本时使用的主目录。

/etc/crontab 文件中的每一行都代表一项任务,它的格式是:minute hour day month day_of_week commandminute —分钟,从0 到59 之间的任何整数hour —小时,从0 到23 之间的任何整数day —日期,从1 到31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)month —月份,从1 到12 之间的任何整数(或使用月份的英文简写如jan、feb 等等)dayofweek —星期,从0 到7 之间的任何整数,这里的0 或7 代表星期日(或使用星期的英文简写如sun、mon 等等)command —要执行的命令(命令可以是ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。

Linux下crontab命令的用法:sudocrontab-l

Linux下crontab命令的用法:sudocrontab-l

Linux下crontab命令的⽤法:sudocrontab-lcron 是linux系统下⼀个⾃动执⾏指定任务的程序.cron服务是linux的内置服务,但它不会开机⾃动启动。

可以⽤以下命令启动和停⽌服务:Linux代码1. /sbin/service crond start2. /sbin/service crond stop3. /sbin/service crond restart4. /sbin/service crond reload以上1-4⾏分别为启动、停⽌、重启服务和重新加载配置。

要把cron设为在开机的时候⾃动启动,在 /etc/rc.d/rc.local 脚本中加⼊ /sbin/service crond start 即可。

查看,删除,修改cron把命令⾏保存在crontab(cron table)⽂件⾥,这个⽂件通常在 /etc ⽬录下。

每个系统⽤户都可以有⾃⼰的crontab(在 /var/spool/cron/ 下)。

file 使⽤file⽂件的内容作为某个⽤户的cron服务配置,内容会复制到cron服务的配置⽂件中-u 设定某个⽤户的cron服务配置,⼀般root ⽤户在执⾏这个命令的时候需要此参数-l 列出某个⽤户cron服务配置-r 删除某个⽤户的cron服务配置-e 编辑某个⽤户的cron服务配置,当指定crontab 不存在时新建,将使⽤vi打开配置⽂件进⾏编辑保存后退出,⽂件语法见后crontab –v 显⽰上⼀次编辑的时间(只在某些操作系统上可⽤)例如:sudo crontab -l语法每⾏表⽰⼀个指令,即表⽰⼀项计划任务;每⾏由空格分隔的六个部分组成,前5部分表⽰定时任务的执⾏时间,剩余部分为定时任务要执⾏的命令,格式如下:分⼩时⽇⽉星期命令Minute Hour Day Month DayOfWeek commandMinute 每个⼩时的第⼏分钟执⾏该任务,0-59Hour 每天的第⼏个⼩时执⾏该任务,0-23Day 每⽉的第⼏天执⾏该任务,1-31Month 每年的第⼏个⽉执⾏该任务,1-12DayOfWeek 每周的第⼏天执⾏该任务,0-6,0表⽰周⽇Command 指定要执⾏的程序以上前五项可使⽤以下四个特殊符号:* 表⽰所有数值,如第⼀位使⽤* 表⽰每分钟/ 表⽰每,如第⼀位使⽤ */5 表⽰每5分钟- 表⽰数值范围,如第⼆位使⽤2-4表⽰2点到4点, 表⽰离散的多个数值,如第2位使⽤6,8 表⽰6点和8点指定“步长”:8-14/2 表⽰8,10,12,14指定列表:⽐如 “1,2,3,4″,”0-4,8-12″在每⾏的六项字段中,除了Command是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。

suse crontab用法

suse crontab用法

suse crontab用法一、Crontab详解Crontab是Linux系统中自带的一个定时任务工具,用户可以通过编辑定时任务表文件来设置命令和脚本的执行周期,每个用户都有自己的定时任务表。

每当系统启动之后,Crontab就会自动读取所有用户的定时任务表,然后按照用户所设置的时间周期执行相应的命令。

二、Crontab的使用2.1 Crontab命令行选项下面是Crontab命令的一些常用选项:• -u user:指定要操作的用户的名称• -e:编辑该用户的定时任务表• -l:列出该用户的定时任务表• -r:删除该用户的定时任务表2.2 Crontab命令格式Crontab命令的格式如下:```minute hour day month weekday command```每个字段含义如下:• minute:表示分钟,取值范围是0-59• hour:表示小时,取值范围是0-23• day:表示月中的某一天,取值范围是1-31• mo nth:表示月份,取值范围是1-12• weekday:表示星期几,取值范围是0-7(其中0和7都表示周日)• command:需要执行的命令或脚本2.3 编辑定时任务表使用Crontab编辑定时任务表的命令是:```crontab -e``````export EDITOR=<editor>```2.4 添加定时任务```0 10 * * * /bin/bash /home/user/script.sh```这个命令表示在每天的10点整执行脚本“script.sh”。

这些字段的意义如下:• 0:表示0分,也就是每小时的第0分钟(即整点)• 10:表示10点• *:表示每一天都执行• *:表示每个月都执行• *:表示每个星期都执行2.5 查看定时任务要查看某个用户的定时任务表中的内容,请使用以下命令:```crontab -l``````crontab -u <user> -l```<user>是指其他用户的名称。

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

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

Linux下的crontab定时执⾏任务命令详解在LINUX中,周期执⾏的任务⼀般由cron这个守护进程来处理[ps -ef|grep cron]。

cron读取⼀个或多个配置⽂件,这些配置⽂件中包含了命令⾏及其调⽤时间。

cron的配置⽂件称为“crontab”,是“cron table”的简写。

⼀、cron服务 cron是⼀个linux下的定时执⾏⼯具,可以在⽆需⼈⼯⼲预的情况下运⾏作业。

service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载⼊配置 service crond status //查看服务状态⼆、cron在3个地⽅查找配置⽂件:1、/var/spool/cron/ 这个⽬录下存放的是每个⽤户包括root的crontab任务,每个任务以创建者的名字命名,⽐如tom建的crontab任务对应的⽂件就是/var/spool/cron/tom。

⼀般⼀个⽤户最多只有⼀个crontab⽂件。

三、/etc/crontab 这个⽂件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executedMAILTO=root:是说,当 /etc/crontab 这个档案中的例⾏性命令发⽣错误时,会将错误讯息或者是屏幕显⽰的讯息传给谁?由于 root 并⽆法再⽤户端收信,因此,我通常都將这个 e-mail 改成⾃⼰的账号,好让我随时了解系统的状态!01 * * * * root run-parts /etc/cron.hourly:在 #run-parts 这⼀⾏以后的命令,我们可以发现,五个数字后⾯接的是 root ,这⼀⾏代表的是『执⾏的级别为root⾝份』当然,你也可以将这⼀⾏改为成其他的⾝份!⽽ run-parts代表后⾯接的 /etc/cron.hourly 是『⼀个⽬录内(/etc/cron.hourly)的所有可执⾏⽂件』,也就是说,每个⼩时的01分,系统会以root⾝份去/etc/cron.hourly这个⽬录下执⾏所有可执⾏的⽂件!后⾯三⾏也是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这4个⽬录!你可以将每天需要执⾏的命令直接写到/etc/cron.daily即可,还不需要使⽤到crontab -e的程式!四、/etc/cron.d/ 这个⽬录⽤来存放任何要执⾏的crontab⽂件或脚本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux下crontab命令的用法
任务调度的crond常驻命令
crond 是linux用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

而linux任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:
文件
含义
/etc/cron.deny
该文件中所列的用户不允许使用Crontab命令
/etc/cron.allow
该文件中所列的用户允许使用Crontab命令
/var/spool/cron/
是所有用户的crontab文件
/var/spool/cron/crontabs
/var/spool/cron/crontabs
Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:
参数名称
含义
示例
-l
显示用户的Crontab文件的内容
crontabl –l
-i
删除用户的Crontab文件前给提示
crontabl -ri
-r
从Crontab目录中删除用户的Crontab文件
crontabl -r
-e
编辑用户的Crontab文件
crontabl -e
用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
格式如下:* * * * *
其时间段的含义如表二:

含义
取值范围
第一段
代表分钟
0—59
第二段
代表小时
0—23
第三段
代表日期
1—31
第四段
代表月份
1—12
第五段
代表星期几,0代表星期日
0—6
名称: crontab
使用权限: 所有使用者
使用方式:
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明:
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。

-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。

如果不使用-u user 的话,就是表示设定自己的时程表。

餐数:
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL 环境变数来指定使用那个文字编辑器(比如说setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表
时程表的格式如下:
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 的方式来设定时程表。

例子:
每月每天每小时的第0 分钟执行一次/bin/ls :
0 7 * * * /bin/ls
在12 月内, 每天的早上 6 点到12 点中,每隔20 分钟执行一次/usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午5:00 寄一封信给alex@ :
0 17 * * 1-5 mail -s "hi" alex@ /dev/null 2>&1 即可
例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’
示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):
1. 以普通用户登录linux系统(我用的是CentOS4.1)
2. $crontab –e
说明:系统默认的编辑器是VIM,如果不是请加上以下shell:
$EDITOR=vi
$export EDITOR
3. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM
4. $su root
5. $cd /etc/init.d
6. ./crond restart
下面看看看几个具体的例子:
● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache
● 50 7 * * * /sbin/service sshd start意思是每天7:50开启ssh服务
● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务
● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘
● 1 * * * * /home/bruce/backup每小时的第一分执行/home/bruce/backup这个文件
● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令
标签: Linux;crontab。

相关文档
最新文档