1. 首页
  2. 综合百科
  3. 关于crontab格式的信息

关于crontab格式的信息

简介:关于关于crontab格式的信息的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

#本文目录一览

1、如何用脚本建立crontab任务2、crontab定时任务和linux请求接口3、crontab是什么意思4、crontab表达式全*什么意思5、crontab命令介绍?怎么用?1如何用脚本建立crontab任务

直接crontab-e添加执行脚本,然后给执行脚本加个重定向到文件就行了。例如:3023***/path/to/shell/script/path/to/log/file#表示每晚的23:30执行/path/to/shell/script脚本,并且把结果重定向输出到/path/to/log/file文件。crontab参数:-e:编辑该用户的计时器设置;-l:列出该用户的计时器设置;-r:删除该用户的计时器设置;-u用户名称:指定要设定计时器的用户名称。crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minutehourdaymonthweekcommand,时间字段都是整数,command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。在以上各个字段中,还可以使用以下特殊字符:星号(*):代表所有可能的值,全部。逗号(,):可以用逗号隔开的值指定一个列表范围。中杠(-):可以用整数之间的中杠表示一个整数范围。正斜线(/):可以用正斜线指定时间的间隔频率。参考:Linux常用命令之定时任务-/689

2crontab定时任务和linux请求接口

我能看懂的我感觉所有人都可以看懂

1. crontab文件格式:

 *     *    *    *    *     command

minute  hour   day  month  week     command

分     时        天    月    星期      命令

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件

2.特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

3.运行crontab–e编写一条定时任务*/5****/home/test.sh在每5分钟执行一次test.sh脚本。

4.查询当前用户定时任务或删除当前用户定时任务

chkconfig--listcrond     查看是否开机自动启动

chkconfig--level35crondon     设置cond开机自动启动

测试get请求

$curl;password=123456

2、测试post请求

$curl-d"user=nickwolfepassword=12345"

我长用到的就这俩。

3crontab是什么意思

是UNIX的一个命令

crontab-操作每个用户的守护程序和该执行的时间表。

具体的部分参数说明如下:

crontabfile[-uuser]-用指定的文件替代目前的crontab。

crontab-[-uuser]-用标准输入替代目前的crontab.

crontab-1[user]-列出用户目前的crontab.

crontab-e[user]-编辑用户目前的crontab.

crontab-d[user]-删除用户目前的crontab.

crontab-cdir-指定crontab的目录。

crontab文件的格式:MHDmdcmd.

M:分钟(0-59)。

H:小时(0-23)。

D:天(1-31)。

m:月(1-12)。

d:一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。

下面是一个例子文件:

#MINHOURDAYMONTHDAYOFWEEKCOMMAND

#每天早上6点

106***date

#每两个小时

0*/2***date

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

023-7/2,8***date

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

0114*mon-weddate

#1月份日早上4点

041jan*date

范例

lark:~crontab-1列出用户目前的crontab.

#MINHOURDAYMONTHDAYOFWEEKCOMMAND

106***date

0*/2***date

023-7/2,8***date

4crontab表达式全*什么意思

*表示通配符,在各自的位置则分别表示匹配每一分钟,每一小时,每一天...。所以5个全*表示每隔一分钟执行一次命令。

5crontab命令介绍?怎么用?

任务调度的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文件的内容是:2919***echoitsdinnertime,则系统每天的19:29显示‘itsdinnertime’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.以普通用户登录linux系统(我用的是CentOS4.1)

2.$crontab–e

说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi

$exportEDITOR

3.输入”*/1****date$HOME/test.txt”,saveandexitVIM

4.$suroot

5.$cd/etc/init.d

6../crondrestart

下面看看看几个具体的例子:

●0*/2******in/servicesshdstart意思是每天7:50开启ssh服务

●5022***home/bruce/backup每小时的之一分执行/home/bruce/backup这个文件

●0003**1-5find/home"*.xxx"-mtime+4-execrm{}/;每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

●306*/10**ls意思是每月的1、11、21、31日是的6:30执行一次ls命令

参数:

crontab-e:执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数来指定使用那个文字编辑器(比如说setenvVISUALjoe)

crontab-r:删除目前的时程表

crontab-l:列出目前的时程表

crontabfile[-uuser]-用指定的文件替代目前的crontab。

时程表的格式如下:

f1f2f3f4f5program

其中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中,用crontabfile的方式来设定时程表。

crontab执行java程序的问题:

一crontab使用注意:

crontab-l查看该用户的crontab配置,crontab-e编辑该用户的crontab配置配置一般在末尾加上21表示错误输出(2)和标准输出(1)一样输出到同一个由前面指定的地方

如1514***/sys_back/monitor.sh/sys_back/log/monitor.log21

表示每天14:15执行monitor.sh脚本,错误和标准输出都写入monitor.log文件

涉及到文件名时更好写绝对路径

二问题及解决

shell脚本有echo语句,有java-jar执行java程序。直接执行脚本时,一切顺利,但是放到crontab中执行时,echo语句正常,java程序却没有执行。

1网上查找,觉得应该是环境变量的问题。说是要将java环境变量加入到shell脚本中,按照

这个***做,发现问题依然存在。百思不得其解。

2经转换角度,看java程序是否有问题。在java语句中直接加入打印语句,发现其在crontab日志中

居然可以显示。终于确定是java程序的问题。java程序功能很简单,就是一个语句java-Dosgi.console-Dosgi.configuration.area=./configuration-jarequinox.jar-console用来启动osgi框架。

于是在shell脚本中不调用java程序,直接改为程序中的这一句,问题解决。

但是又引发新的问题:直接java-jar会源源不断的输出osgi到日志文件,导致日志文件越来越大。

不可行。再想办法解决。

3感觉还是相对路径的问题。尝试在crontab调用的脚本中用相对路径向一个文件输出一句话,发现失败。(单独执行脚本没问题)既然如此,是不是java程序中也不能用相对路径呢。遂将./configuration及equinox.jar都用绝对路径,再调试,终于成功,至此问题解决。但始终感觉在程序中用绝对路径很不方便维护。

三附加问题及解决

此脚本的作用就是判断osgi程序是否在运行,如果不运行则启动。

实现思路是ps-elf得到进程id及状态,如果id不存在,则启动,如果id存在但状态不是运行中(solaris为O,AIX为A),则杀掉原进程重新启动。

发现程序在运行几天后会自动停掉,以为是java程序有问题,然而却始终找不到问题在哪里。在解决上面问题时,却意外的发现可能不是java程序的问题。manps时发现,solaris中,进程状态除了O,还有S(sleeping)R(Runnable)Z(Zombie僵尸进程)T(stopped),只有后两种状态下进程才是有问题的,所以很可能是crontab执行脚本时,程序状态非O就被杀掉,重启时却因为上面的问题没成功。于是修改脚本,状态是后两种时才重启。这个问题也解决了。

我也是网上转的,望采纳

关于crontab格式和的介绍到此就结束了,不知道你从中找到你需要的信息了吗?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文主要介绍了关于关于crontab格式的信息的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/251481.html