00:00
大家好,欢迎大家继续收看上硅谷的云计算课程,我是沈超老师。这节课我们继续来学习指轮器啊,我们前面讲了它的重这个重要性,然后呢,我们来看看配置文件。配置文件GTC下的log rotate.com来这样一个配置文件。那我们看一下这个配置文件的作用。从头开始。那。它里边其实有很多的这个参数啊,我们待会儿来看,我们先看看它里面写的是什么,第一句话weekly,它定义的就是我以下定义的这些日志,每周轮齐一次,哎,各位这个时候就就会有一个情况啥事儿啊,哎,如果写在这个地方,这叫做这个这个这个这个通用配置,或者说你可以理解为就是环境变量啊,它会对里边所有的内容都生效,那以下我比如说我后面这个日志。那这个时候他就会有一个问题啊,你看啊,我前面定义的是weekly一周一次,而我这个日志又定义的是monthly一个月一次,那到底哪个生效,那他是这样的。
01:10
如果我的这个日志没有单独定义循环的时间,那么按它的定义的时间来生效,也就是说这块没有写mon斯LY,也没有写给没有写多长时间轮气,那它就一周轮气意思,但如果在括号内写了他自己的轮气时间,那这个就不再生,诶它的自带的这个东西生效,听明白了,也就说他先给你打个底,如果你忘了写你多长时间轮陷,让他一周轮期意思,这就是这个意思啊,那这是第一次,第一个一周轮期一次,然后呢。轮起几次啊,轮进四次,也就说最多保存四个日志文件,能不明白第五个就会删除,如果到第五天就会删除第一个日志文件,OK,这个也同样啊,它写在外面,它只是打底的,我如果在里面没有写轮器多少次,那它就保存多少个,它就它就那个旧轮器保存四次,如果我这里写了只保存一个,那也就说除了我本身一个,最多再保存一个,就保存两个位置,自己的是一个轮气再保存一个,那就是说你里边如果写了他就干嘛,他就那个那个那个那个。
02:20
呃,按照你里面写的生效,如果里面没写,就按照外面写的这个生效,听明白了,就这个意思,接下来吧,这里的意思create,也就是说文替的时候,它会把旧日志,比如说我们CRO,然后呢给改名变成日期,对吧,按日期来命名,然后呢再新建一个。C日志这个意思就是新建新日志,哎,它是这样的意思,这个都是必备的啊。啊,这就是保存几个日志啊,也就说然后呢,这个就是新建,这个我们就讲过了,这是按照日期对不对,这个我们都说过了,这个原先的RED5的时候默认是不开的,现在都建议开RED6默认都已经开启了。
03:06
然后往下走,这个注释的没有生效,这个东西是压缩,如果开启你的轮器日志就全部会变成压缩格式。诶,这压缩的话是不是就可以这个呃,可以保留更多的这个这个日志文件没错吧,啊就是说占的空间会更小,看你要不要,但压缩就讨厌在哪,你没法直接看你得干嘛先解压,OK那呃看你需不需要。其次include这个我们讲过了,对吧,包含这个目录下的所有的配置文件,那我们再开一个这个。再开一个终端,我们看一下ETC log rotate.d目录下,我们进来,你会发现这里边儿也有一堆的日志,换句话说,你看我的主配置文件里。前面这个你会发现它里边只轮系了WTMP和BTMP这两个日志。
04:02
而我们其实可以看到,我们其实那个系统自带的日志全部都已经被轮替了呀,哎,那他是怎么办的呀,其实就是这这个原因,他把这些轮器的文件写在了这个目录下,写在了这个子目录下。那它被主配置文件调用,它也可以生效,换句话说,我们的这些什么其他的日志容器其实都放在了这里啊,比如说我们这里阿帕奇日志,那我们就看看。我们就可以看到我们阿帕奇瓦夏洛下的所有的日志文件,正确日志和访问日志,这个错误日志都会被论及,诶,在这里它是通过这样的方式来轮进,呃,但是我就说啊,我看一下我们有没有一个看起来格式简单点,哎,这个。可以啊,你就会发现,你看我们的定时任务,邮件信息,3A安全日志全部都通过这个。C log文件来进行这个问题。如果你仔细看,你会发现其实这两个写法格式是一模一样的。
05:04
哎,写法是一样的,没错吧,那所以啊,我就说如果你真打算手工把一个日制加入文器,你就用两个办法,一个办法就是直接修改主配制文件,就像他这样把这个日志文器直接写在这里面就行,另外一个办法就是直接单独在这个目录下单独写一个文件,然后呢,按照格式把它的容器信息写进去,也能剩下,诶写在哪哪里都行,因为在主配置文件里加载了这个此配置文件记录。OK,好,后面就开始轮期一个日志,哎,前面是全局配置啊,我再说全局配置如果和你的这个日制的配置如果冲突了,比如说轮记检册多长时间容记,那按照你自带的这个信息生效,哎,全局的那个就会失效,明白好,那这里看他就说了日志的名字,后来就选项,诶这个呃,每周每个月轮替一次,然后创建新的日志,诶创建的时候可以指定权限和所有者和所属举,诶然后呢,如果它这个日志大小没有超过一个兆,那我就不能进,哪怕到了一个月我也不论进,因为这里边写的信息不多啊,这里边写的内容不多,然后轮期一次,诶,这就是他的信息,当然啊。
06:24
这里这个配置文件还支持这里面配置,整个配置文件我都加了详细的注释啊,那它还支持更多的选项,我们看看这里可以选你是每天一次,每周一次还是每个月一次轮气具体多少个。然后是否压缩,这个都讲过了,创建新的日志的时候,可以指定权限所有者和所属组。然后日志轮去的时候可以给管理员来发送邮件,哎,都是可以的,如果你需要,其实这个不一样啊。然后呢,如果日志不存在,则忽略日志的警告信息,哎,这个这个里面就有。
07:00
这个句对吧,哎,这个如果日志没有的话,就忽略它的信息,就意思就不论,如果日志为件为空,则不进行论积,然后呢,这个就是如果日志你的日志小于这个值,就算日期到了,它也不轮机,这是mini s的作用,OK,也就说你的日志轮器有有两个条件,一个大小超过这个值,另外一个时间要达标。我要每天轮进,你就得到一天才会引进,而后面还有一个size这个值它就会干嘛,它的轮气就不再考虑时间了,它只看大小,只有日志超过大小了,我就轮起一次,哎,创建个新日志,再生成新的这个,呃,把旧日志改一个名,再创建一个新日志,它不再考虑时间,而前面这个是需要考虑时间了,时间要这个达标,其次大小要达标,它才会这个轮进,而下面如果写这个,它就只按大小,这个大这个轮期,比如说我写一个SIZE100K,那就是这个日志只要超过100K。
08:02
它就会轮齐一次,当然100K有点小,你可以指定的,比如说啊五兆十兆Linux啊,各位打开文本文档效率比Windows要高,十几兆的文本在Windows下打开其实就已经很卡了,但是在linus当中,一般几十兆上百兆的文本都可以打开,所以100K我只是举个例子啊,啊这两个啊,这两个大小稍微有点区别啊,不要搞混。然后呢,这个就是,呃,这个新建这个旧日志,用日期作为命名规则对吧?哎,好关键后面这几个比较麻烦。它可以执行出来更复杂的例子。比如说这个如果写,如果要写后边这两个必须以它开头,这是标准格式,它代表脚本执行,后续脚本执行意思,然后呢,区别啊,后续这两个,也就是说要想执行脚本,必须要有这句话,前面这句话,后面这两个的区别在于这个pray,这个rotate,它的作用是在日志轮替之前执行脚本。
09:05
Post,它的作用是在日志轮替之后执行脚本。什么例子?举个例子。如果你去卖log里面给了很多的这个这个这个例子,那我其中就找了一个例子,我们来看看这个例子线你就能看懂,看到轮切阿帕奇的正确日志和错误日志,两个日志都轮,轮齐五次给某一个人发邮件,这就是他的例子啊,S次大小一超过100K就轮进,而不是按时间看到它,关键在上。他说以下脚本只执行一次,然后呢,在日志轮期结束之后执行脚本,执行什么脚本六二杠H6号靠一号,那么就是各位,如说我问你,你要不要告诉阿帕西你的日志这个是,哎,你要不把面你的信息根据复到你的新的认知到,所以你小心这个重重启这个服务可还真是这个文,目的是就只要是服务好的,你帕奇啊随便啊这样服务它都是不对,一定要做好这个轮,轮期完日志就把旧旧日志改革了,你的新日志生效后,一定要先重启就拉起,否则你的新志里面就不OK,这就是这家格。
10:41
要做的就是OK啊,那这个例子是官方,其实这个例子呢,在实用过测试发现在原来还成五的手段,没有能够直接在原来汉虫志发现,如果你是这样写去发现你的新日志,简单零组件什么都不写,所有的信息还是都写了进,为什么?因很在原孩文录当中,光重启阿帕奇还不足以让新接受,而是需要不光要重阿帕奇,而且还要重启阿西,也就是说如果你安装了这些阿帕奇,你不光要重启这个服,而且还要重启RC,两个都得重启,还会往新的置里去。各位这个事儿不是说官方这个例子写况应该它没更新,在这个例子慢文档里没有更新就版本的。
11:41
来看这个就可以,新版本需要手,但就是说如果我真的要想这个做,用这的东西我们可能要更做稍微比如说分六啊,我把分这两更深一点,说后两个人就错了,那这个是我需要先去体遍阿说再去遍各位这个命令我解释一下,Q杀H是,然后刀了三小根据是线这个系的K主取是里边是一个ID号62832这个里该有啊628。
12:41
62832,这个是各位实有运PID会保存在他的PID图片当中,系统可以通过如此这个文件,从而判断这个是开启还是没看,OK,那么这里写其实是不是就是把先是一,而Q4呢,是但双R只不要看它这ROK这就是是我不说是还我可以看。
13:41
对吧,就是这个62832就是对吧,就是对吧,换句话说这条命令就是重启R这个,那为什么用这么复杂的一个这个命令,而不是你就直接S啊r this,对这个是啥?官方给先官方的文档上大多数都这么写,而且他们也说这样重启这个出错的几率要用比用service要低,所以我们就照抄了,包括后面我们重启N,这我也参考了这样的一种方法,当然啊,其实我说实话,它还有一个好处,这样重启是平滑,重启平滑。
14:23
重启?什么叫平滑重启?我问你,我们的标准重启是不是先把服务关掉,再把服务开开,那我问你,如果有人正套登录在我的系统上,正在访问我的网页,他在下载数据,下载了99%,你重启了,我问你。这哥们断不断网肯定是不得断,那这哥们儿要是真下载了99%,他要不要罢名对吧?而平滑重启就会干嘛温和的多,如果你正在连接的时候,它重启的时候会先把你忽略过去,让你先连着,等你连接断开,它再把你这个这个进程重启,它不会把你正在访问的用户给去掉,所以啊,我们都推荐大家真正在服务中的时候,可以考虑都要使用平滑重启。
15:09
其实说白了,这句话的目的就是把RC log和N都要重启一遍,你的日志才会真正被写入,你小心这个事儿啊,这个。也就是说前面写的这个哥们儿这块可能是官方给的例子,但实际工作现在用稍微有点问题,他能重启,能生效,但是新日志里边可能会不写入内容,原因就是它只重启了这个,官方的这个例子只重启了阿帕奇,但是你还应该注意要重启这个。阿西斯洛夫,你就把后面那句话照着写过来就行,OK,好。那我们通过官方这个例子啊,这里面还是挺麻烦的,我们通过官方这个例子啊,各位我们干嘛?我们来解释一下这个这这组选项的作用,这是非常常见的,也就说啊,只要要执行脚本这句话就要写,后面可以选是post这个rootate还是pre rootate,区别就在于pro root是在脚本这个轮期之前执行。
16:08
Post route是在气之后执行,那我问你我要重启服务,那是不是应该是轮器完成之后再重启的,对吧?所以这里是post route OK,好各位,这个里面的内容相对来说都还是比较简单的啊,所以我们看看就行,包括我们说这里,你看我们这里比如说。啊,Clo你会发现里边写的东西几乎都是这样,其实就是把这个c log服务重启了一遍,哎,为啥我这么写啊,就是从这抄过来,OK,哎,就是重写了一遍S它就生效了,哎,所以各位这个配置文件的内容呢,主要的内容还是这些行,那这节课呢,我们讲了一下这个log的配置文件,大家能看懂诶就可以了。好了,那我们这节课就到这里,我们下节课再见。
我来说两句