关于logrotate的额外补充

简介:

http://chenx1242.blog.51cto.com/10430133/1942514 里面已经简单介绍了logrotate命令,这里还有一些额外补充的东西:


1)查看logrotate对log文件的具体执行情况的语句是#cat /var/lib/logrotate.status,效果如图:

wKioL1lZ4FzQ7RPOAABJI9Qizo0867.png


2)使用-v或-d参数时,显示“log does not need rotating",这是因为logrotate在对status未记录的文件进行转储时,会在status添加一条该文件的记录,并将操作时间设为当天。之后程序再次对此文件进行转储时发现这个文件今天已经操作过,就不再进行相关操作。要是想解决这个问题可以"使用-s指定logrotate状态文件";


3)分割日志时报错:“error: skipping "/var/log/nginx/test.access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.”这是当前用户不是root,需要添加“su root list“这个语句到对应的logrotate配置文件里,比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/var/log/nginx/ *.log {
         su  root list
         daily
         missingok
         rotate 52
         compress
         delaycompress
         notifempty
         #ifempty
         create 0640 www-data adm
         sharedscripts
         postrotate
                 [ ! -f  /var/run/nginx .pid ] ||  kill  -USR1 ` cat  /var/run/nginx .pid`
         endscript
}


4)如果觉得使用logrotate很麻烦,而当某个文件过大的时候,要实现把该文件压缩并且拆成若干个指定大小的文件,怎么办?

tar -zcvf 新文件名.tar.gz 原文件名 | split -b 每个分格包大小 -d -a 1 - 新文件名.tar.gz

比如:#tar -zcvf ABC.tar.gz ABC | split -b 4000M -d -a 1 - ABC.tar.gz.   这个命令就是把ABC这个文件压缩成ABC.tar.gz,但是如果ABC大于4000M就会切块,切成ABC.tar.gz.0,ABC.tar.gz.1,ABC.tar.gz.2......这个样子。

//使用split命令,-b 4000M 表示设置每个分割包的大小,单位还是可以k

// -d "参数指定生成的分割包后缀为数字的形式

//-a x来设定序列的长度(默认值是2),这里设定序列的长度为1

如果要把这一堆已经切块的文件重新接压缩的命令:#cat ABC.tar.gz.* | tar -zxv ;


5)如果用 kill -HUP来重启一个包含守护进程的进程,比如httpd,一条语句搞定:

ps -ef | grep httpd | grep -v grep | awk '{ print $2; }' | xargs -L 1 sudo kill -HUP

这里面首先用 awk获取到httpd的pid进程号,然后把这个进程号传给了xargs,通过-L 1来一次提取一行pid值,然后分批进行kill -HUP;


6)想更多的了解守护进程,参看http://www.cnblogs.com/mickole/p/3188321.html ;


最后的最后,如果您觉得本文对您升职加薪迎娶白富美有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多优秀的博文!

wKioL1l16m3BMYDKAACPHEqd55Q687.jpg


 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1944073


相关文章
|
3月前
|
存储 监控 安全
|
6月前
|
Linux API 网络安全
centos7 图文详解精确同步企业实战 rsync include 同步指定文件exclude排除文件
centos7 图文详解精确同步企业实战 rsync include 同步指定文件exclude排除文件
66 0
|
安全 Linux 芯片
很有用的速度优化:让系统启动速度更快
很有用的速度优化:让系统启动速度更快
震精!Dozer 宣布停止维护,不要再用了
旨在优雅的代替满屏的 get/set 以及 BeanUtils 工具类,然后栈长也收到了一些留言,其中很多朋友就是推荐使用 Dozer 答:
|
网络协议 API uml
HttpClientFactory日志不好用,自己扩展一个?
.NetCore2.1新推出HttpClientFactory工厂类, 替代了早期的HttpClient,并新增了弹性Http调用机制 (集成Policy组件)。
HttpClientFactory日志不好用,自己扩展一个?
|
监控 关系型数据库 MySQL