壹,重启crontab如果遇见“You (cloudlogin) are not allowed to use this
program (crontab)

1、重启crontab假设遇见“You (cloudlogin) are not allowed to use this
program (crontab)

 Linux的cron和crontab

定时职务之crontab命令,任务之crontab命令

                      See crontab(1) for more information ”

                      See crontab(1) for more information ”

 

1、简介

crontab用于安装周期性被实施的授命 Linux系统中Linux调动工作分为两大类:
  一,系统推行的干活:系统周期性所要执行的工作,如备份系统数据、清理缓存
  二,个人执行的行事:有个别用户定期要做的行事,例如每隔10分钟检查邮件服务器是或不是有新信,那个工作可由各样用户自动设置
/etc/crtontab
  系统调度的天职一般存放在/etc/crontab那么些文件下,里面存放了有的种类运作的调度程序,通过命令cat
crontab查看   那一个义务会在系统运行起来活动调用 /var/spool/cron
  每种用户都会变动自动生成多个协调的crontab文件,一般位于/var/spool/cron目录下
  执行命令crontab -r
就会去除当前用户的crontab文件。例如你切换来suifeng账号下,执行了该命令,那么/var/spool/cron/suifeng文件就会去除,假使要成立该公文只须要用crontab
-e命令即可。   注意,普通用户一般没有权力访问/var/spool/cron
澳门金沙国际 1
/etc/crontab.deny文件与/etc/crontab.allow文件
  壹,分别表示不可以应用crontab命令的用户、以及可以利用crontab命令的用户
  2、八个文本同时存在crontab.allow文件优先
  三,多个公文都不设有则只有root用户才有所调用该命令  

则切换来root用户,再利用命令

则切换来root用户,再使用命令

Cron定时执行工具详解           

2、语法

crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v
[UserName]|File ] 依次参数表明: 开创定时任务   crontab
-e进入文本(vi)编辑状态   * * * * * command path  //
前八个字段可以取整数值,指定哪一天初叶工作,第多个域是字符串,即命令字段,其中囊括了crontab调度执行的授命。
各种字段之间用spaces和tabs分割。
(可将指令写入.sh脚本文件中,并赋予可举办的权能即可)
调度指令的规则:

字段名称 说明 取值范围
分钟 每小时的第几分钟执行 0-59
小时 每日的第几个小时执行 0-23
日期 每月的第几天执行 1-31
月历 每年的第几月执行 1-12
星期 每周的第几天执行 0-6
命令名称 欲执行的命令及参数  

crontab命令中的一些常用特殊符号:

符号 说明
* 表示任何时刻
, 表示分割
表示一个段,如第二段里: 1-5,就表示1到5点
/n 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

翻开定时职责:crontab -l 去除定时义务:crontab -r澳门金沙国际,  

#crontab -u 用户名 命令

#crontab -u 用户名 命令

 

3、使用示例

实例1:   每1分钟实施三回command   命令:* * * * * command
实例2:   每时辰的第3和第15分钟实施   命令:3,15 * * * * command
实例3:   在早晨8点到11点的第3和第15分钟实施   命令:3,15 8-11 * *
* command 实例4:   每隔二日的中午8点到11点的第3和第15分钟实施
  命令:3,15 8-11 */2 * * command 实例5:
  逐个礼拜天的早上8点到11点的第3和第15分钟实施   命令:3,15 8-11 *
* 1 command 实例6:   每晚的21:30重启smb    命令:30 21 * * *
/etc/init.d/smb restart 实例7:   每月1、10、22日的4 : 45重启smb 
  命令:45 4 1,10,22 * * /etc/init.d/smb restart 实例8:
  每周六、周日的1 : 10重启smb   命令:10 1 * * 6,0 /etc/init.d/smb
restart 实例9:   每日18 : 00至23 : 00之内每隔30分钟重启smb 
  命令:0,30 18-23 * * * /etc/init.d/smb restart 实例10:
  每星期二的晌午11 : 00 pm重启smb    命令:0 23 * * 6
/etc/init.d/smb restart 实例11:   每一钟头重启smb    命令:* */1
* * * /etc/init.d/smb restart 实例12:
  上午11点到深夜7点之内,每隔一钟头重启smb    命令:* 23-7/1 * *
* /etc/init.d/smb restart 实例13:
  每月的4号与每一周日到礼拜五的11点重启smb    命令:0 11 4 * mon-wed
/etc/init.d/smb restart 实例14:   十三月一号的4点重启smb    命令:0 4
1 jan * /etc/init.d/smb restart 实例15:
  每小时执行/etc/cron.hourly目录内的剧本   命令:01 * * * * root
run-parts /etc/cron.hourly
  表明:run-parts那么些参数了,借使去掉这些参数的话,后边就可以写要运维的某部脚本名,而不是目录名
实例16:
  壹,每一天23点59分后台执行test.sh脚本;并将规范输出写入log.txt中
  命令:59 23 * * * /home/suifeng/scripts/test.sh
>/home/suifeng/log.txt &   2、同上   命令:59 23 * * *
/home/suifeng/scripts/test.sh 1>/home/suifeng/log.txt &
  3、每一日23点59分后台执行test.sh脚本;并将错误输出写书log.txt中
  命令:59 23 * * * /home/suifeng/scripts/test.sh
1>/home/suifeng/log.txt &
  肆,每一日23点59分后台执行test.sh脚本;并将错误输错当做正式输出(即将错误输出和规范输出全部写入log.txt中)
  命令:59 23 * * * /home/suifeng/scripts/test.sh
1>/home/suifeng/log.txt 2>&1 & 连带申明:   0表示键盘输入
  1表示业内输出   2表示错误输出   &表示后台执行
  >>表示追加   >表示覆盖写 linux定时脚本,crontab定时义务不履行的来头。注意:
  壹,当在前台运转有个别作业时,终端被该学业占据;而在后台运转作业时,它不会占用终端。可以应用&命令把作业放到后台执行。
  2、须求用户交互的吩咐不要放在后台执行,因为这样子机器将会在那一向等候
  三,作业在后台运营时,一样会将结果输出在显示屏上,苦恼你的正规干活。由此我们最好将出口重定向到有些文件中
 

接下来再重启

然后再重启

Linux下的crontab定时实施职分指令详解

4、crond服务

经过 chkconfig –list | grep cron 命令来查阅cron服务的运转状态:
[[email protected]*****
home]# chkconfig –list | grep cron crond 0:关闭 1:关闭 2:启用 3:启用
4:启用 5:启用 6:关闭
大家可以看出,系统运转级别假诺是1-4,cron服务都会开机自动运营的,大家得以经过如下命令来设置该服务的运转项:
  /sbin/service crond start   /sbin/service crond stop
  /sbin/service crond restart   /sbin/service crond reload
以上1-4行分别为运营、截止、重启服务和另行加载配置。
要把cron设为在开机的时候自动运行,在 /etc/rc.d/rc.local 脚本中加入/sbin/service crond start 即可。 查看crontab服务意况:
service crond status  

 

 

 

5、个人经验总括

  我们利用那些命令大多都以运作相关的本子文件,最常见的就是定时调用http请求进行多少收集大概数据库的备份等等。由此当大家协调所写的脚本文件中富含文件引入时,最好应用相对路径,否则将会引入战败从而造成定时职务失败。
   

(以上是自身的一部分观点,若有欠缺或然不当的地点请各位提出)

 作者:那一叶随风   

 原文地址:

 声明:本博客小说为原创,只表示本身在工作学习中某一时间内总计的理念或结论。转发时请在篇章页面显明地方给出原文链接

一,简介
crontab用于安装周期性被执行的命令Linux系统中Linux调动工作分为两大类:
一,系统推行的工…

2、假使做完了crontab
-e添加完职务,并且义务也设有,不过却尚无遵守义务指定时间执行,则检查

二,假诺做完了crontab
-e添加完义务,并且义务也设有,可是却从不如约职务指定时间执行,则检查

Linux上启动Cron任务

 1)查看日志

 1)查看日志

 

日记文件地点

日记文件地方

[linux]解析crontab

暗许景况下,crontab中推行的日记写在/var/log下,如:

暗许情形下,crontab中施行的日记写在/var/log下,如:

 

澳门金沙国际 2

澳门金沙国际 3

cron表明式详解

crontab的日志比较不难,当crond执行职务败北时会给用户发一封邮件。恰巧在大家的一台服务器上发现三个任务没有健康执行,而且crond发邮件也失败了。

crontab的日记相比较不难,当crond执行职责退步时会给用户发一封邮件。恰巧在我们的一台服务器上发现3个职务没有健康履行,而且crond发邮件也战败了。

 

经过看mail的日志,看到是磁盘空间不足导致的。

通过看mail的日记,看到是磁盘空间不足造成的。

cron语法

 2)查看crontab 是否运转成功,检测crontab 服务是或不是运转,

 2)查看crontab 是不是运转成功,检测crontab 服务是不是运维,

 

     /etc/init.d/crond status 

     /etc/init.d/crond status 

Cron表明式容命理术数习

  没运行则要用上面发号施令

  没运行则要用下边发号施令

 

     /etc/init.d/crond start

     /etc/init.d/crond start

Cron表明式详解

 3)查看命令中操作的文本是不是留存,当前用户是或不是有操作该公文的权力

 3)查看命令中操作的公文是不是留存,当前用户是不是有操作该文件的权限

 

     小编那里用的是cloudlogin用户设置

     小编那里用的是cloudlogin用户安装

Linux定时职务系统 Cron

澳门金沙国际 4

澳门金沙国际 5

 

翻开命令中操作的公文是还是不是留存,并且当前用户是还是不是有操作该文件的权杖

翻看命令中操作的公文是还是不是存在,并且当前用户是还是不是有操作该公文的权位

Shell命令_Cron使用

澳门金沙国际 6

澳门金沙国际 7

 

如若没有则要予以权力大概更换用户(请参见小说 crontab的二种配备格局展开配备)

万一没有则要给予权力或然更换用户(请参考小说 crontab的三种配备格局拓展布署)

 

澳门金沙国际 8

澳门金沙国际 9

权限(?) crontab权限难点到/var/adm/cron/下一看,文件cron.allow和cron.deny是不是存在
用法如下: 
1、即便三个文件都不设有,则唯有root用户才能应用crontab命令。 
2、如若cron.allow存在但cron.deny不存在,则唯有列在cron.allow文件里的用户才能接纳crontab命令,尽管root用户也不在里面,则root用户也不能够应用crontab。 
3、若是cron.allow不存在,
cron.deny存在,则唯有列在cron.deny文件之中的用户无法使用crontab命令,其余用户都能应用。 
肆,如若三个文件都存在,则列在cron.allow文件中并且从不列在cron.deny中的用户可以使用crontab,如若五个公文中都有同三个用户,以cron.allow文件里面是否有该用户为准,若是cron.allow中有该用户,则足以接纳crontab命令。 

 4)若不是地方原因,则重启下crond服务,命令为

 4)若不是上边原因,则重启下crond服务,命令为

AIX 中 普通用户暗中同意都有 crontab 权限,倘使要限制用户采纳 crontab
,就须要编制/var/adm/cron/cron.deny 
HP-UNIX 中暗中认可普通用户没得crontab 权限 ,要想松开普通用户的crontab
权限可以编

     使用 /etc/init.d/crond restart

     使用 /etc/init.d/crond restart

 

     或者service crond restart(Centos7下为systemctl restart crond)

     或者service crond restart(Centos7下为systemctl restart crond)

 

瞩目:配置完后都亟需重启下crontab使之生效

注意:配置完后都亟需重启下crontab使之生效

澳门金沙国际 10

 

 

在上述种种字段中,还能运用以下特殊字符:

参照作品:crontab定时职责不进行的来头

参照小说:crontab定时职分不进行的原故

星号(*):代表享有大概的值,例如month字段若是是星号,则意味着在知足其余字段的钳制条件后每月都执行该命令操作。

crontab的三种配备方式

crontab的二种配备格局

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

     

     

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

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两时辰实施四次。同时正斜线可以和星号一起利用,例如*/10,假设用在minute字段,表示每十分钟实施五遍。

 

crontab文件的意义:

用户所建立的crontab文件中,每一行都表示一项义务,每行的各种字段代表一项设置,它的格式共分为八个字段,前五段是岁月设定段,第六段是要履行的命令段,格式如下:

minute hour day month week command

其中:

minute: 表示秒钟,可以是从0到59时期的其余整数。

hour:表示小时,可以是从0到23里边的别样整数。

day:表示日期,可以是从1到31以内的其余整数。

month:表示月份,可以是从1到12中间的别样整数。

week:表示星期几,可以是从0到7里头的其他整数,这里的0或7象征礼拜日。

command:要实施的吩咐,可以是系统命令,也足以是协调编排的台本文件。

 

 

二、crond服务

安装crontab:

yum install crontabs

服务操作表达:

/sbin/service crond start //运转服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

/sbin/service crond status //运转服务

查阅crontab服务是还是不是已设置为开机运维,执行命令:

ntsysv

参与开机自动运营:

chkconfig –level 35 crond on

 

 

crond简介

crond
是linux下用来周期性的实践某种职分或等候处理有个别事件的3个医护进度,与windows下的安插职责类似,当安装落成操作系统后,暗中认同会安装此服务
工具,并且会自行运营crond进度,crond进程每分钟会定期检查是还是不是有要推行的天职,假设有要推行的职责,则自动执行该职责。

 

三、crontab命令详解

1.命令格式:

crontab [-u user] file

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

2.限令功用:

经过crontab 命令,我们能够在定位的间隔时间执行指定的连串指令或 shell
script脚本。时间距离的单位可以是分钟、时辰、日、月、周及以上的自由组合。那个命令极度设合周期性的日志分析或数据备份等工作。

3.命令参数:

-u user:用来设定某些用户的crontab服务,例如,“-u
ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运维。

file:file是命令文件的名字,表示将file做为crontab的职务列表文件并载入crontab。假诺在指令行中没有点名那几个文件,crontab命令将承受专业输入(键盘)上键入的命令,并将它们载入crontab。

-e:编辑某些用户的crontab文件内容。若是不指定用户,则代表编辑当前用户的crontab文件。

-l:呈现有个别用户的crontab文件内容,如若不点名用户,则代表彰显当前用户的crontab文件内容。

-r:从/var/spool/cron目录中剔除有个别用户的crontab文件,即使不点名用户,则暗中同意删除当前用户的crontab文件。

-i:在剔除用户的crontab文件时给确认提醒。

 

 

编辑crontab文件

即使愿意丰裕、删除或编辑crontab文件中的条目,而E D I TO
Tiggo环境变量又设置为v i,那么就足以用v i来编排crontab文件,相应的通令为:

$ crontab -e

可以像使用v
i编辑其他任何公文那样修改crontab文件并脱离。即使改动了好几条款或添加了新的条条框框,那么在保存该文件时,
c r o
n会对其展开须求的完整性检查。若是内部的有些域现身了过量允许范围的值,它会唤醒您。

大家在编辑crontab文件时,没准会出席新的条规。例如,出席上面的一条:

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month

30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;

将来保存并脱离。最好在crontab文件的每三个条文之上加入一条注释,那样就足以领略它的出力、运维时刻,更为首要的是,知道那是哪位用户的课业。

 

crontab -l命令列出它的整套音讯:

$ crontab -l

# (crondave installed on Tue May 4 13:07:43 1999)

# DT:ech the date to the console every 30 minites

0,15,30,45 18-06 * * * /bin/echo `date` > /dev/tty1

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month

30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;

 

 

删除crontab文件

要删除crontab文件,可以用:

$ crontab -r

 

光复丢失的crontab文件

若是不小心误删了crontab文件,假如你在友好的$ H O M
E目录下还有三个备份,那么可以将其拷贝到/var/spool/cron/<username>,其中<username>是用户名。如果由于权力难点不能到位拷贝,可以用:

$ crontab <filename>

个中,<filename>是您在$ H O M E目录中副本的文书名。

本身指出你在本人的$ H O M
E目录中保留3个该公文的副本。笔者就有过类似的经历,有多次误删了crontab文件(因为r键紧挨在e键的出手)。那就是为何有个别系统文档提议不用一贯编辑crontab文件,而是编辑该文件的3个副本,然后重新提交新的文书。

稍稍crontab的变体有些诡异,所以在采纳crontab命令时要那么些小心。假如遗漏了其余接纳,crontab只怕会打开3个空文件,只怕看起来像是个空文件。那时敲delete键退出,不要按<Ctrl-D>,否则你将遗失crontab文件。

 

 

创设三个新的crontab文件


考虑向cron进程提交3个crontab文件此前,首先要做的一件工作就是安装条件变量EDITO奥迪Q7。cron进度根据它来确定使用哪个编辑器编辑
crontab文件。9 9
%的UNIX和LINUX用户都采纳vi,若是您也是那般,那么你就编写$ HOME目录下的.
profile文件,在其 中到场这么一行:

EDITOR=vi; export EDITOR

下一场保留并脱离。不妨成立二个名为<user>
cron的公文,其中<user>是用户名,例如,
davecron。在该文件中到场如下的情节。

# (put your own initials here)echo the date to the console every

# 15minutes between 6pm and 6am

0,15,30,45 18-06 * * * /bin/echo ‘date’ > /dev/console

保存并退出。确信前面四个域用空格分隔。

在 上面的事例中,系统将每隔1
5分钟向决定台出口三遍当前岁月。借使系统崩溃或挂起,从最终所突显的小运就可以一眼看出系统是何许日子为止工作的。在有些系统中,用tty1来代表控制台,可以依照实际意况对上边的例子举办相应的修改。为了提交你刚刚创造的crontab文件,可以把那么些新创制的文本作为
cron命令的参数:

$ crontab davecron

近年来该文件已经付出给cron进程,它将每隔1 5分钟运行两遍。

再者,新成立文件的二个副本已经被放在/var/spool/cron目录中,文件名就是用户名(即dave)。

 

 

 

利用实例

实例1:每1秒钟实施两遍command
命令:
* * * * * command

实例2:每时辰的第3和第15分钟实施
命令:
3,15 * * * * command

实例3:在清晨8点到11点的第3和第15分钟实施
命令:
3,15 8-11 * * * command

实例4:每隔二日的早上8点到11点的第3和第15分钟实施
命令:
3,15 8-11 */2 * * command

实例5:每种礼拜二的早晨8点到11点的第3和第15分钟实施
命令:
3,15 8-11 * * 1 command

实例6:每晚的21:30重启smb
命令:
30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb
命令:
45 4 1,10,22 * * /etc/init.d/smb restart

实例8:每周六、周日的1 : 10重启smb
命令:
10 1 * * 6,0 /etc/init.d/smb restart

实例9:每一日18 : 00至23 : 00里边每隔30秒钟重启smb
命令:
0,30 18-23 * * * /etc/init.d/smb restart

实例10:每周一的夜间11 : 00 pm重启smb
命令:
0 23 * * 6 /etc/init.d/smb restart

实例11:每一小时重启smb
命令:
* */1 * * * /etc/init.d/smb restart

实例12:上午11点到傍晚7点时期,每隔一钟头重启smb
命令:
* 23-7/1 * * * /etc/init.d/smb restart

实例13:每月的4号与每一周三到星期一的11点重启smb
命令:
0 11 4 * mon-wed /etc/init.d/smb restart

实例14:7月一号的4点重启smb
命令:
0 4 1 jan * /etc/init.d/smb restart

实例15:每小时执行/etc/cron.hourly目录内的本子
命令:
01 * * * * root run-parts /etc/cron.hourly
说明:
run-parts这一个参数了,假设去掉这些参数的话,前边就足以写要运营的某部脚本名,而不是目录名了

 

 

 

应用注意事项

注意环境变量难题
偶尔我们成立了一个crontab,但是那么些职务却一筹莫展自动执行,而手动执行那么些职务却没有毛病,那种意况一般是出于在crontab文件中从未配备环境变量引起的。


crontab文件中定义多少个调度职分时,必要特别注意的三个标题就是环境变量的装置,因为大家手动执行有些职分时,是在当前shell环境下展开的,程
序当然能找到环境变量,而系统自动执行职务调度时,是不会加载任何环境变量的,由此,就须要在crontab文件中指定任务运维所需的具备环境变量,这样,系统实施职务调度时就不曾难点了。

绝不假定cron知道所须要的非凡条件,它实在并不知道。所以您要确保在shelll脚本中提供所有必要的路子和环境变量,除了部分机关安装的全局变量。所以注意如下3点:

1)本子中提到文件路径时写全局路径

2)本子执行要用到java或其余环境变量时,通过source命令引入环境变量,如:

cat start_cbp.sh

#!/bin/sh

source /etc/profile

export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf

/usr/local/jboss-4.0.5/bin/run.sh -c mev &

 

当手动执行脚本OK,不过crontab死活不执行时。那时必须大胆怀疑是条件变量惹的祸,并得以尝尝在crontab中平昔引入环境变量消除难点。如:

0 * * * * . /etc/profile;/bin/sh
/var/www/java/audit_no_count/bin/restart_audit.sh

专注清理系统用户的邮件日志
每条职责调度执行完结,系统都会将职责输出新闻透过电子邮件的款型发送给当前系统用户,那样与日俱增,日志消息会丰硕大,大概会潜移默化系统的正规运作,因而,将每条任务拓展重定向处理相当关键。

例如,可以在crontab文件中安装如下形式,忽略日志输出:

0 */3 * * * /usr/local/apache2/apachectl restart >/dev/null
2>&1

“/dev/null
2>&1”表示先将标准输出重定向到/dev/null,然后将业内错误重定向到专业输出
,由于专业输出已经重定向到了/dev/null,由此专业错误也会重定向到/dev/null,那样日记输出难题就消除了。

 

系统级职责调度与用户级义务调度

统级义务调度主要成就系统的一部分掩护操作,用户级职务调度主要形成用户自定义的一些职务
,可以将用户级任务调度放到系统级任务调度来形成(不建议如此
做),不过转头却百般,root用户的义务调度操作可以透过“crontab –uroot
–e”来设置,也足以将调度职责一向写入/etc
/crontab文件,必要注意的是,即使要定义三个定时重启系统的天职,就务须将职分放到/etc/crontab文件,即使在root用户下成立三个定时重启系统的任务也是无济于事的。

 

其余注意事项
新创制的cron
job,不会立时执行,至少要过2分钟才实施。即便重启cron则立即执行

当crontab突然失灵时,可以品味/etc/init.d/crond
restart化解难点。大概查看日志看有些job有没有进行/报错tail -f
/var/log/cron。

千万别乱运营crontab
-r
。它从Crontab目录(/var/spool/cron)中删去用户的Crontab文件。删除了该用户的有所crontab都没了。

在crontab中%是有独特含义的,表示换行的情致。假若要用的话不只怕不举办转义\%,如平常用的date
‘+%Y%m%d’在crontab里是不会举行的,应该换成date ‘+\%Y\%m\%d’。

 

相关文章