韦德国际1946官网办事中常用的Linux命令

2019-05-08 21:14 来源:未知

crontab是3个用来安装、删除或显示供守护进度cron实践的定期职责的一声令下。每四个用户都得以具备属于本身的按时任务,定时职责文件暗中同意以用户名命名,并投身/var/spool/cron目录,该目录普通用户无访问权限。

做事中常用的Linux命令:crontab命令,linuxcrontab

  crontab是2个用来安装、删除或出示供守护进度cron推行的定时职分的通令。每1个用户都得以享有属于本人的定时职责,定时任务文件默许以用户名命名,并雄居/var/spool/cron目录,该目录普通用户无访问权限。

  能够经过cron.allow 和 cron.deny文件管理用户选用cron服务的权能。倘诺cron.allow存在,用户必须列在中间才会被允许接纳cron服务;要是cron.deny存在,被列在里头的用户禁止利用cron服务;假诺双方都不存在,唯有顶尖用户才干动用cron服务。在CentOS中,那多个公文放在/etc中,默许只存在cron.deny文件,且为空。那就象征在CentOS中,私下认可全体的用户均有cron的利用权力。

一. 发令格式

  crontab [-u user] file
  crontab [-u user] [-l | -r | -e] [-i] [-s]
  crontab -n [ hostname ]
  crontab -c

二. 下令功用

  为个人用户维护定时任务文件

3. 限令选项

  -u user

    编辑有些用户的cron,只用root能够动用此参数为其他用户设置cron服务。也可用以给用户钦赐crontab文件。

  -l

    列出当前用户的crontab。

  -r

    删除当前用户的crontab。

  -e

    编辑当前用户的crontab,暗许使用vi,也许是由 VISUAL或EDITOEscort情状变量钦命的编辑器。

  -i

    与-r一齐行使,用来领悟用户是或不是直接删除crontab。

4. 实例

  实例壹:列出当前用户的按时职分

[22:30:17][[email protected] ~]$ crontab -l
0 1 * * 1 $HOME/.DailyShell/hislogclear.sh 
0 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/voice
20 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/data/
40 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/sms/

  实例二:root用户编辑用户martin的按时职分

[22:30:17][[email protected] ~]# crontab -u martin -e

  实例叁:为用户martin钦命定期职分文件

[22:30:17][[email protected] ~]# crontab -u martin martincron

5. cron文件语法

   首先,大家开采/etc/crontab文件,大家将会看出如下内容:

[20:40:30][[email protected] etc]$ cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# 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 executed

  该公文是存放系统实行的定期布署,个中前4行用于安装cron服务运维的遇到变量:SHELL、PATH、HOME分别内定了cron服务运作时的SHELL情况变量、PATH情形变量和HOME景况变量,这里不再赘述。MAILTO则表示cron运行的天职输出以电子邮件的花样发送到内定用户,假如该变量的值为空,则不会发送邮件。余下几行的剧情表达了系统定期职分的切实书写格式。

 minute  分钟,取值范围0-59
 hour  小时,取值范围0-23
 day of month  日,取值范围1-31
 month  月,取值范围1-12,或者使用英文缩写jan,feb,mar,apr ...
 day of week  星期,取值范围0-6,0或7表示星期日,或者使用英文缩写sun,mon,tue,wed,thu,fri,sat
 user-name  执行该定时任务的用户
 command  具体执行的命令,可以是一个简单的命令,也可以是一个脚本,或者是一个目录。如果是一个文件夹,则表示执行该文件夹中的所有脚本,文件目录的前面必须加上run-parts。

  1)星号(*)表示取值范围内的有着值。比方,*在hour的职位,表示每时辰执行2遍。

  贰)连字符(-)表示一个限量。比方,8-1贰象征八、九、10、1一、1二。

  3)逗号(,)表示分割钦点的数值。比如:三,5-柒,玖象征3,5,陆,7,九。

  四)正斜杠(/)表示步进值。举例,分钟的岗位为*/5,表示每5秒钟施行三回。

  除了root用户以外的持有用户定义的crontab布署职务都存放在/var/spool/cron目录,通过crontab -e一声令下编辑,格式与/etc/crontab相同,能够不用内定user-name。

  cron服务会每分钟检查1遍/etc/crontab、/etc/cron.d/和/var/spool/cron/中的全体文件,并依此实施。

6. 实例

  实例一:周周末的黎惠氏(Karicare)点钟实行3遍系统的raid-check

0 1 * * Sun root /usr/sbin/raid-check

  实例二:每一日的四:0二am分root用户奉行/etc/cron.daily目录下的兼具脚本,run-parts参数表示执行后边目录中的全体脚本。

02 4 * * * root run-parts /etc/cron.daily

  实例三:每一天的八-18每四时辰,dodmaster用户推行hislogclear.sh脚本,即八:4四,12:4四,1陆:44,20:4肆多个时间点,会实行该脚本。

[21:57:56][[email protected] ~]$ crontab -l
44 8-20/4 * * * $HOME/.DailyShell/hislogclear.sh 

  实例4:每伍分钟试行三次

*/5 * * * * echo "every five minute to do it" >> time.txt

  实例5:各类职业日早晨8点施行

0 20 * * 1-5 echo "every workday 20:00 to do it" >> time.txt

  实例陆:每分钟的30秒时实行,因为cron服务是每分钟被提示3回,所以要实施标准到秒的任务急需借助sleep命令。

* * * * * sleep 30; echo "every minute 30 second to do it" >> time.txt

  实例柒:每20秒试行一回,即表示在每分钟的0秒、20秒、40秒各施行1回(也能够是别的的幅度是20秒的值,比如:伍s、二5s、4伍s)

* * * * * echo "every 20 second to do it" >> time.txt
* * * * * sleep 20; echo "every 20 second to do it" >> time.txt
* * * * * sleep 40; echo "every 20 second to do it" >> time.txt

 

参考资料:

crontab是一个用来安装、删除或展现供守护进度cron施行的按期职务的授命。每一个用户都足以...

crond是linux下用来周期性的推行某种职务或等待管理有些事件的2个守护进度,与windows下的布署任务类似,当安装完毕操作系统后,私下认可会安装此服务工具,并且会自行运转crond进度,crond进度每分钟会定期检查是不是有要举办的职务,固然有要实施的天职,则自动推行该职分。

  能够透过cron.allow 和 cron.deny文件处理用户采用crontab的权位。借使cron.allow存在,用户必须列在里边才会被允许使用cron;如果cron.deny存在,被列在里面包车型地铁用户禁止行使cron;即便双方都不存在,只有拔尖用户技艺使用cron。在CentOS中,那四个公文放在/etc中,暗中同意只存在cron.deny文件,且为空。那就象征在CentOS中,私下认可全数的用户均有cron的行使权力。

安装crontab:yum install crontabs
  service crond start    //运营服务
  service crond stop     //关闭服务
  service crond restart  //重启服务
  service crond reload   //重新载入配置
  service crond status   //查看服务情状 

一. 限令格式

Linux下的任务调解分为两类,系统职分调节和用户任务调节。

  crontab [-u user] file
  crontab [-u user] [-l | -r | -e] [-i] [-s]
  crontab -n [ hostname ]
  crontab -c

系统任务调解:系统周期性所要施行的干活,比如写缓存数据到硬盘、日志清理等。在/etc目录下有三个crontab文件,那几个正是系统职责调节的安排文件。

2. 下令功能

执行:vim  /etc/crontab    查看/etc/crontab文件

  为个人用户维护定时职分文件

quit<enter> to exit vim :

三. 限令选项

    按几下 esc 确保 vim 在平常形式。然后输入:quit,之后就淡出了

  -u user

韦德国际1946官网 1

    编辑有些用户的cron,只用root能够使用此参数为其他用户设置cron服务。也可用于给用户钦命crontab文件。

前四行是用来铺排crond职务启动的意况变量,

  -l

首先行SHELL变量钦命了系统要选取哪个shell,这里是bash,

    列出当前用户的crontab。

其次行PATH变量钦赐了系统施行命令的门路,

  -r

其三行MAILTO变量内定了crond的天职实施新闻将透过电子邮件发送给root用户,假如MAILTO变量的值为空,则意味着不发送任务实践新闻给用户,

    删除当前用户的crontab。

第4行的HOME变量钦定了在实践命令只怕脚本时利用的主目录。

  -e

用户任务调治:用户定时要执行的行事,比如用户数据备份、定期邮件提示等。用户能够使用 crontab 工具来定制自身的陈设任务。全数用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一样。

    编辑当前用户的crontab,暗许使用vi,大概是由 VISUAL或EDITOQashqai情形变量内定的编辑器。

各种用户都会变卦3个自动生成2个友好的crontab文件,一般位于/var/spool/cron目录下

  -i

      [root@localhost cron]# cd /var/spool/cron

    与-r一齐使用,用来了然用户是或不是直接删除crontab。

      [root@localhost cron]# ls

4. 实例

      oracle root

  实例1:列出当前用户的定期职务

使用者权限文件:

[22:30:17][dodmaster@mha3 ~]$ crontab -l
0 1 * * 1 $HOME/.DailyShell/hislogclear.sh
0 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/voice
20 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/data/
40 * * * * $HOME/.DailyShell/mvcdr2bak.sh $HOME/data/message/sms/

壹、文件:/etc/cron.deny  表明:该文件中所列用户不允许接纳crontab命令

  实例二:root用户编辑用户martin的定期任务

贰、文件:/etc/cron.allow  表明:该公文中所列用户同意利用crontab命令

[22:30:17][root@mha3 ~]# crontab -u martin -e

三、文件:/var/spool/cron/  表明:全体用户crontab文件存放的目录,以用户名命名

  实例三:为用户martin钦定按期职分文件

假令你用命令crontab -r 就能删除当前用户的crontab文件,举例你切换成oracle账号下,实施了该命令,那么/var/spool/cron/oracle文件就能够去除,若是要创建该公文只要求用crontab -e命令就能够。

[22:30:17][root@mha3 ~]# crontab -u martin martincron

专注,普通用户一般从不权限访问/var/spool/cron

五. cron文件语法

crontab权限难题到/var/adm/cron/下壹看,文件cron.allow和cron.deny是或不是存在
  用法如下: 
    一、如若四个公文都不存在,则唯有root用户本事利用crontab命令。 
    贰、尽管cron.allow存在但cron.deny不设有,则唯有列在cron.allow文件里的用户手艺使用crontab命令,要是root用户也不在里面,则root用户也无法利用crontab。 
    3、假使cron.allow不设有, cron.deny存在,则只有列在cron.deny文件之中的用户无法使用crontab命令,其余用户都能使用。 
    4、假设多个公文都设有,则列在cron.allow文件中还要未有列在cron.deny中的用户能够动用crontab,借使三个文本中都有同一个用户,以cron.allow文件里面是不是有该用户为准,假若cron.allow中有该用户,则能够使用crontab命令。 

  首先,大家开发/etc/crontab文件,大家将会看到如下内容:

 

[20:40:30][dodmaster@mha3 etc]$ cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# 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 executed

crontab文件的意义:用户所树立的crontab文件中,每一行都代表一项职责,每行的各种字段代表一项设置,它的格式共分为三个字段,前5段是光阴设定段,第5段是要试行的命令段,格式如下:

  该公文是存放在系统推行的定期布署,个中前四行用于安装cron服务运转的景况变量:SHELL、PATH、HOME分别钦定了cron服务运作时的SHELL景况变量、PATH景况变量和HOME情况变量,这里不再赘言。MAILTO则代表cron运转的职分输出以电子邮件的款型发送到内定用户,借使该变量的值为空,则不会发送邮件。余下几行的开始和结果表明了系统定期任务的实际书写格式。

minute   hour   day   month   week   command

韦德国际1946官网 2

其中:

       1)星号(*)表示取值范围内的装有值。举例,*在hour的职位,表示每小时执行2遍。

  minute: 表示分钟,能够是从0到5九时期的别的整数。

  2)连字符(-)表示八个限量。例如,八-1二表示捌、九、十、11、1二。

  hour:表示小时,能够是从0到二三时期的别的整数。

  三)逗号(,)表示分割钦定的数值。比如:叁,伍-七,九表示3,伍,6,柒,玖。

  day:表示日期,能够是从壹到3第11中学间的其它整数。

  四)正斜杠(/)表示步进值。例如,分钟的地点为*/5,表示每5分钟施行2遍。

  month:表示月份,能够是从一到1二里边的其余整数。

  除了root用户以外的兼具用户定义的crontab布署职分都存放在/var/spool/cron目录,通过crontab -e命令编辑,格式与/etc/crontab同样,可以不用内定user-name。

  week:表示星期几,能够是从0到七里头的任何整数,这里的0或7意味着星期六。

  cron服务会每分钟检查一回/etc/crontab、/etc/cron.d/和/var/spool/cron/中的全数文件,并依此施行。

  command:要实行的通令,能够是系统命令,也得以是温馨编排的脚本文件。

6. 实例

/var/spool/cron/ 这一个目录下存放的是种种用户蕴含root的crontab任务,各种职分以成立者的名字命名,例如tom建的crontab职分对应的文书就是/var/spool/cron/tom。一般贰个用户最七只有三个crontab文件。

  实例一:每一周末的黎明(Liu Wei)壹(Dumex)点钟实践一次系统的raid-check

在以上种种字段中,还足以行使以下特殊字符:

0 1 * * Sun root /usr/sbin/raid-check 

星号(*):代表全体十分大或许的值,举个例子month字段若是是星号,则象征在满意其它字段的掣肘条件后每月都实施该命令操作。

实例2:每一日的4:0二am分root用户执行/etc/cron.daily目录下的全数脚本,run-parts参数表示实行前边目录中的全部脚本。

逗号(,):能够用逗号隔断的值钦定一个列表范围,比方,“1,二,5,柒,八,九”

02 4 * * * root run-parts /etc/cron.daily 

中杠(-):能够用整数之间的中杠表示二个平头限量,举个例子“二-陆”表示“二,三,四,伍,陆”

实例三:每日的八-1八每4时辰,dodmaster用户实践hislogclear.sh脚本,即八:44,12:44,1陆:44,20:4四多少个时间点,会进行该脚本。

正斜线(/):能够用正斜线内定期间的间隔频率,比方“0-23/②”表示每两小时实施一回。同时正斜线能够和星号一齐使用,比方*/十,借使用在minute字段,表示每10分钟试行3次。

[21:57:56][dodmaster@mha3 ~]$ crontab -l
44 8-20/4 * * * $HOME/.DailyShell/hislogclear.sh
  实例四:每5分钟实行一遍(二种写法)

 

*/5 * * * * echo "every five minute to do it" >> time.txt
5 * * * * echo "every five minute to do it" >> time.txt  

 

实例伍:每一个职业日午夜8点推行

crontab命令详解

0 20 * * 1-5 echo "every workday 20:00 to do it" >> time.txt 

 

实例陆:每分钟的30秒时实践,因为cron服务是每分钟被提醒一遍,所以要施行标准到秒的天职急需借助sleep命令。

1.命令格式:

* * * * * sleep 30; echo "every minute 30 second to do it" >> time.txt
  实例七:每20秒实施二回,即表示在每分钟的0秒、20秒、40秒各实施二次(也能够是此外的幅度是20秒的值,比方:伍s、2伍s、45s)

 

* * * * * echo "every 20 second to do it" >> time.txt
* * * * * sleep 20; echo "every 20 second to do it" >> time.txt
* * * * * sleep 40; echo "every 20 second to do it" >> time.txt

crontab [-u user] file

上述所述是我给大家介绍的Linux命令下crontab命令,希望对大家有所支持,要是我们有任何疑问请给小编留言,小编会及时过来大家的。在此也特别多谢大家对剧本之家网址的支撑!

 

您大概感兴趣的篇章:

  • Linux中动用crontab命令启用自定义定期职分实例
  • 详解Unix/Linux中周期实践命令Crontab命令
  • 谈谈shell中的eval与crontab命令
  • 采取linux命令crontab间隔时间执行别的命令
  • 剖判Ubuntu下crontab命令的用法

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

 

贰.下令功效:

 

透过crontab 命令,我们得以在一直的间隔时间实行钦赐的系统指令或 shell script脚本。时间距离的单位能够是分钟、小时、日、月、周及以上的任意组合。这一个命令非常设合周期性的日记剖析或数据备份等专门的学问。

 

三.命令参数:

 

-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文件时给确认提示。

例子:

1:查看当前用户的定期职务

  [oracle@localhost ~]$ crontab -l

二:编辑当前用户的定时职责 可以在编写状态修改、删除、新增加部分定时任务。注释一般用#

  [oracle@localhost ~]$ crontab -e

三:删除当前用户的定期职务

  [root@localhost ~]# crontab -r

 

 

关于 >/dev/null 2>&1 的解释:

0意味键盘输入

1象征专门的学业输出

2意味着错误输出.

咱俩首先创造test.sh脚本如下:

#! /bin/sh

echo "hello, everybody, now is " `date`

date >> test.txt

下一场加多作业

* * * * * /home/oracle/test.sh >/home/oracle/log.txt & 暗许值为1,即和下部发号施令一致

* * * * * /home/oracle/test.sh 1>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt 2>&1 &

壹,②将tesh.sh 命令输出重定向到log.txt, 即出口内容不打字与印刷到显示屏上,而是输出到log.txt文件中。倘令你要求扩大而不是覆盖,可以用 >>代替>

二>&一 是将错误输出重定向到正规输出。 然后将正式输入重定向到文件log.txt。

&1表示的是文件讲述一,表示行业内部输出,假若这里少了&就成了数字一,就代表重定向到文件一。

注意事项:

安排定期任务时,须要小心多个难题:

1: 在SHELL中设置了不可或缺的蒙受变量;举个例子3个shell脚本手工业推行OK,不过配置成后台作业施行时,获取不到ORACLE的蒙受变量,那是因为crontab情形变量问题,Crontab的意况暗中认可情状下并不分包系统中当前用户的条件。所以,你要求在shell脚本中增多需求的境遇变量的设置

二: 尽量全数的文件都选择完全路线方法,幸免使用相对路线。

linux中 you have newmail in /var/spool/mail/root表示:一般这种状态mail的内容就只是局地符合规律的系统新闻大概是相比较主要的错误报告。假使您安装了mutt的话一向用这一个命令就能够查阅mail的剧情(用root登录先),未有装的话用cat /var/spool/mail/root查看(用root登入先)。输入 mail 命令后怎么能够退出,q就足以退出!(能够推行ctrl d)

 

TAG标签: 韦德娱乐1946
版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于韦德国际1946官网,转载请注明出处:韦德国际1946官网办事中常用的Linux命令