Linux VPS 计划任务crond命令的使用方法分享

crond是Linux用来定期推行顺序的命令。当安装到位操作系统之后,暗中同意便会运营此职责调整命令。crond命令每分锺会定期检查是或不是有要奉行的做事,假诺有
要实践的办事便会活动实行该工作。而Linux职分调治的干活首要分为以下两类:

一、安装计划任务
其一顺序在一些系统上大概未有预装,须要进行上面包车型大巴授命实行设置。

Linux crond定期任务

crond
是linux用来按期奉行顺序的通令。当安装到位操作系统之后,暗中认可便会运行此职分调整命令。crond命令每分锺会定时检查是或不是有要实施的做事,如若有要试行的办事便会活动实行该工作。而linux职责调节的职业任重先生而道远分为以下两类:

1、系统施行的行事:系统周期性所要推行的办事,如备份系统数据、清理缓存

yum install -y vixie-cron

第1章 Crond是什么?

Crond是linux系统用来定时推行命令或钦定程序职责的一种服务或软件。一般景色下,我们设置完CentOS5/6linux操作系统之后,暗许便会运行Crond职责调治服务。Crond服务会定时(暗中认可每分钟检查一遍)检查体系中是还是不是有要试行的天职专业。假诺有,便会依照其优先设定的定期任务准绳自动试行该按期职务职业。那一个Crond定时任务服务就也正是我们中午应用的石英钟同样。

1、系统实践的做事:系统周期性所要试行的行事,如备份系统数据、清理缓存

2、个人推行的劳作:有些顾客按期要做的专业,比如每隔10分钟检查邮件服务器是否有新信,这个干活儿可由各类客户自动设置

下一场运行服务

第2章 Linux系统crond的定期职分

2、个人实践的做事:有些顾客定时要做的行事,比方每隔10分钟检查邮件服务器是不是有新信,这么些干活儿可由各类客商自行设置

Crontab是UNIX系统下的定期职务触发器,其使用者的权能记载在下列多个文件中:

service crond start

linux系统中定期职分调解的行事得以分为以下二种情形:

1、
linux系统本身按期实施的职分工作:系统周期性自行施行的天职工作,如轮询系统日志、备份系统数据、清理系统缓存等,那一个职务实际不是大家人为干预。举例:

[[email protected]
~]# ll /var/log/messages*

-rw——- 1 root root 585506 1月 24 21:32 /var/log/messages

-rw——- 1 root root 495226 12月 13 14:41 /var/log/messages-20151213

-rw——- 1 root root 501046 12月 20 10:33 /var/log/messages-20151220

-rw——- 1 root root 333767 12月 30 20:27 /var/log/messages-20151230

-rw——- 1 root root 332996 1月 10 12:19 /var/log/messages-20160110

Crontab是UNIX系统下的按时职责触发器,其使用者的权能记载在下列四个文件中:

文件 含义

二、设置安顿职务 (1)试行下边包车型大巴吩咐来设置陈设职责:

2、客商实行的任务职业:有个别客商或系统管理员定时要做的干活,比如每隔5分钟和互联英特网的时间服务器实行时间共同,每一天早上0点备份网站站点数据及数据库数据,一般那么些干活儿必要由顾客本人来设置。

[[email protected]
~]# crontab -l

*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

#* * * * * echo “yangrz” >>/server/log/yangrz

文件

含义

/etc/cron.deny

该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow

该文件中所列的用户允许使用Crontab命令

/var/spool/cron/

是所有用户的crontab文件

/var/spool/cron/crontabs

/var/spool/cron/crontabs

/etc/cron.deny 该公文中所列的顾客差异意使用Crontab命令

crontab -e

第3章 命令表达

crond服务是运作的主次,而crontab是顾客用来安装按时准绳的一声令下。

crontab option

-l list(查看客户安装的定期任务)

-e 编辑定期职务安排文件

crontab –e ===vi /var/spool/cron/root

crontab –l ===cat /var/spool/cron/root

Crontab命令的格式为:crontab–l|-r|-e|-i
[username]
,其参数含义如表一:

/etc/cron.allow 该公文中所列的客商同意利用Crontab命令

进而要动用方面包车型大巴一声令下并非一贯使用vi,是因为cron要开展为数没多少不过那多少个供给的语法检查。
(2)设置安顿义务的职业:
t1 t2 t3 t4 t5 program

第4章 crontab语法格式中时间段的意思

含义

取值范围(整数)

第一段

表示分钟

00-59(00也可以是0)

第二段

表示小时

00-23

第三段

表示日、天

01-31

第四段

表示月份

01-12

第五段

表示星期、周几

0-7(0和7都表示周日)

提示:记忆口诀:分时日月周

# .—————- 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

参数名称

含义

示例

-l

显示用户的Crontab文件的内容

crontabl –l

-i

删除用户的Crontab文件前给提示

crontabl -ri

-r

从Crontab目录中删除用户的Crontab文件

crontabl -r

-e

编辑用户的Crontab文件

crontabl -e

/var/spool/cron/ 是独具客商的crontab文件

t1 表示秒钟,
t2 表示小时,
t3 代表贰个月份中的第几日,
t4 代表月份,
t5 表示二个礼拜中的第几天。
program 代表要实践的程式。
(3)一些示范:
每月每一天每小时的第 0 分钟施行二次 /bin/ls :

第5章 crontab语法格式中特殊符号含义

特殊符号

含义

*

*号表示任意时间都,实际就是“每”的意思。如:00 23 * * * cmd表示每月每周每日的23:00都执行cmd任务。

提示:定时任务如果是到小时,口述时就最多提每天。

分位上的*就等价于0-59,表示每分。

减号,表示分隔符,表示一个时间范围,区间段,如17-19点,每天的17,18,19点的00分执行任务。00 17-19 * * * cmd。就是17,18,19点整点分别执行的意思。

逗号,表示分隔时段的意思。30 17,18,19 * * * /bin/sh /scripts/test.sh 表示每天17、18、19点的半点时刻执行/scripts/test.sh脚本。

/n

n代表数字,即“每个n单位时间”,例如:每10分钟执行一次任务,可以写成*/10 * * * * cmd,其中*/10的意思是每10分钟执行cmd命令。

威尼斯网址开户网站 1

 

/var/spool/cron/crontabs /var/spool/cron/crontabs

0 * * * *威尼斯网址开户网站, /bin/ls

 

客商所树立的Crontab文件存于/var/spool/cron中,其文件名与顾客名同样。

Crontab命令的格式为:crontab –l|-r|-e|-i
[username],其参数含义如表一:

在 12 月内, 每日的清早 6 点到 12 点中,每隔 20 分钟执行一遍/usr/bin/backup :

第6章 书写定期任务的几何要领方法:

要领1:为定时职务准则加须求的注明

要领2:定期职分指令或程序最佳写到脚本里实施

要领3:施行shell脚本职分前加/bin/sh

要领4:定期职责指令或脚本结尾加>/dev/null 2>&1

&>/dev/null 1>/dev/null 2>/dev/null

要领5:在内定顾客下进行相关的定期职责

要领6:生产任务程序不要任性打字与印刷输出新闻

tar zcf echo 123 >a.log

要领7:定期职分试行的脚本要标准路线(/service/scripts)

要领8:配置定期义务标准操作进程

它的格式共分为六段,前五段为时间设定段,第六段为所要实行的命令段,

参数名称www.britepic.org 含义 示例

*/20 6-12 * 12 * /usr/bin/backup

第7章 关于配置定期任务标准操作进度

1)首先要在命令行操作成功,然后复制作而成功的授命到剧本里,在各样细小环节压缩失误的可能率。

2)然后测验脚本,测量检验成功后,复制脚本的业内路子到定期职务安顿里,不要手敲。

3)先在测验情况测量试验,然后正式碰到规范配备。

格式如下:* * * * *
<command>(command不过命令也得以是sh脚本,建设构造的台本要提交可举行的权柄,chomd
777 test.sh)

-l 显示客户的Crontab文件的剧情 crontabl –l

星期四到星期五每日深夜 5:00 寄一封信给 alex@domain.name :

题:每隔2钟头将系统的/etc/service文件打包备份的/tmp下(最棒每便备份成分化的包)

包袱:/etc/service是不设有的,应该是/etc/services

要cd到对象内容的下面目录打包

打包的效用是分,包名必需准确到分。

确定保证命令试行不利。然后写到脚本里(复制进去)

定时职责指令或程序最棒写到脚本里奉行。

测验脚本正确性(定期职务怎么写,命令行就怎么测量检验)

剧本测量检验精确了,命令行的指令也要复制。

* * * * * tar zcvf /tmp/service-$(date +%F-%H)tar.gz ./services

这么写是畸形的,在定时职责安顿文件里还得转义、所以要把命令写到文件中,制止不当。

题:每日清晨0点,把/tmp/services.tar.gz的包,删除前几日前的。

/var/log/cron*

那是crontab的日记,实施不利依然错误,日志里边都会有出口。

其时间段的意义如表二:

-i 删除顾客的Crontab文件前给提醒 crontabl -ri

0 17 * * 1-5 mail -s “hi” alex@domain.name < /tmp/maildata

第8章 工作中调护医治定时职务的艺术:

1、 扩大实行任务频率调节和测验职分(有个别职务没办法用来生产景况未有测量试验机缘)

2、
代码公布:个人支付条件—办公开测量检验试情形—IDC机房测量检验意况—》IDC正式碰着(分组,灰度公布)

3、 调治系统时间调节和测量试验职分(不能够直接用于生产条件),保持5分钟

4、 通过脚本日志输出调试定期任务

5、 注意一些职责指令带来的标题

6、 (*/1 * * * * * echo “==” >> /tmp/oldboy.log
>dev/null 2>&1)

7、 注意情形变量导致的定时职责故障(java)

8、 通过crond定期职务日志调节和测量检验按时义务(/var/log/cron)

9、
把脚本放到按期职务之中,相当多时候取系统变量,取不到,会出难点。那时候可以在剧本里把系统变量重新定义叁遍。

含义

取值范围

第一段

代表分钟

0—59

第二段

代表小时

0—23

第三段

代表日期

1—31

第四段

代表月份

1—12

第五段

代表星期几,0代表星期日

0—6

-r 从Crontab目录中去除客商的Crontab文件 crontabl -r

每月每一天的清晨 0 点 20 分, 2 点 20 分, 4 点 20 分….实施 echo “haha”

 

例:假诺顾客的Crontab文件的剧情是:29 19 * * *echo its dinner
time,则系统每天的19:29显示‘its dinner time’

-e 编辑客户的Crontab文件 crontabl -e

20 0-23/2 * * * echo “haha”

第9章 crontab定期任务生产应用难题10真言:

  1. 系统意况变量难点

  2. 定期任务要用相对路线

  3. 本子权限难点,加/bin/sh

  4. 时刻变量难题用反斜线\%转义,最棒用剧本

  5. >/dev/null 2>&1为题(1>/dev/null 2>/dev/null
    ,&>/dev/null)

  6. 定期职务法规以前加注释

  7. 选用脚本程序取代命令行按时职分

  8. 幸免不须要的顺序及命令输出

  9. 切到指标目录的上一流打包指标

  10. 按时职务脚本中的程序命令尽量用全路径(和意况变量的分辨有关)。

本文永远更新链接地址:

crond按时职责 第1章 Crond是怎么?
Crond是linux系统用来按期施行命令或钦赐程序职责的一种服务或软件。一般景观下,我们设置完CentOS…

演示(成立贰个cron全经过,每分钟都会在test.txt里输入当前些天子):

客商所创制的Crontab文件存于/var/spool/cron中,其文件名 与顾客名相同。

夜幕11点到深夜8点里面每七个钟头,和深夜八点,施行date命令。

1.    
以普通客户登入linux系统(小编用的是CentOS4.1)

它的格式共分为六段,前五段为时间设定段,第六段为所要试行的命令段,

0 23-7/2,8 * * * date

2.     $crontab –e

格式如下:* * * * *

你只怕感兴趣的作品:

  • 浅谈:linux cron
    安排任务常用符号小结
  • linux下行使crontab完毕定期PHP安插职责战败的原故深入分析
  • 详解在Linux中怎么利用cron安插任务

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

其时间段的含义如表二:

     $EDITOR=vi

段 含义 取值范围

     $export EDITOR

首先段 代表分钟 0—59

3.     输入”*/1 * * * *date >> $HOME/test.txt”,save and exit
VIM

其次段 代表时辰 0—23

4.     $su root

其三段 代表日期 1—31

5.     $cd /etc/init.d

第四段 代表月份 1—12

6.     ./crond restart

第五段 代表星期几,0代表周天 0—6

上面看看看多少个有血有肉的例证:

例:借使顾客的Crontab文件的剧情是:29 19 * * * echo its dinner
time,则系统每一日的19:29出示‘its dinner time’

● 0 */2 * * * /sbin/service httpd restart 
意思是每四个小时重启贰回apache

演示(创立一个cron全经过,每分钟都会在test.txt里输入当前光阴):

● 50 7 * * * /sbin/service sshd start  意思是天天7:50拉开ssh服务

  1. 以普通客商登入linux系统(作者用的是CentOS4.1)

  2. $crontab –e

● 50 22 * * * /sbin/service sshd stop  意思是每日22:50关闭ssh服务

证实:系统暗中认可的编辑器是VIM,要是还是不是请加上以下shell:

● 0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘

$EDITOR=vi

● 1 * * * * /home/bruce/backup 
每小时的第一分推行/home/bruce/backup这几个文件

$export EDITOR

● 00 03 * * 1-5 find /home”*.xxx” -mtime +4 -exec rm {} \; 
每周二至星期四3点钟,在目录/home中,查找文件名称为*.xxx的文本,并剔除4天前的公文。

  1. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM

  2. $su root

  3. $cd /etc/init.d

  4. ./crond restart

● 30 6 */10 * * ls 
意思是每月的1、11、21、13日是的6:30实行壹次ls命令 

上面看看看多少个实际的例子:

威尼斯网址开户网站 2

● 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、一日是的6:30施行叁回ls命令
 

相关文章