查找文件内容-用于查看生产环境日志
在目录下递归查找
grep -r -n -H --color=auto "内容" /路径
grep -r -n -H --color=auto "内容" /路径
logrotate工具对于防止因庞大的日志文件而耗尽存储空间是十分有用的。配置完毕后,进程是全自动的,可以长时间在不需要人为干预下运行
Linux系统默认安装logrotate工具,它默认的配置文件在:
/etc/logrotate.conf
/etc/logrotate.d/
否则会因为文件权限问题报错
error: Ignoring 文件路径 because it is writable by group or others.
su 用户 用户组
比如以系统日志/var/log/message做切割来简单说明下:
第一次执行完rotate(轮转)之后,原本的messages会变成messages.1,而且会制造一个空的messages给系统来储存日志;
第二次执行之后,messages.1会变成messages.2,而messages会变成messages.1,又造成一个空的messages来储存日志!
如果仅设定保留三个日志(即轮转3次)的话,那么执行第三次时,则 messages.3这个档案就会被删除,并由后面的较新的保存日志所取代!也就是会保存最新的几个日志。
现象说明:
使用logrotate轮询nginx日志,配置好之后,发现nginx日志连续两天没被切割,这是为什么呢??
然后开始检查日志切割的配置文件是否有问题,检查后确定配置文件一切正常。
于是怀疑是logrotate预定的cron没执行,查看了cron的日志,发现有一条Dec 7 04:02:01 www crond[18959]: (root) CMD (run-parts /etc/cron.daily)这样的日志,证明cron在04:02分时已经执行/etc/cron.daily目录下的程序。
接着查看/etc /cron.daily/logrotate(这是logrotate自动轮转的脚本)的内容:
这里我们将创建一个10MB的日志文件/var/log/log-file。我们将展示怎样使用logrotate来管理该日志文件。
我们从创建一个日志文件开始吧,然后在其中填入一个10MB的随机比特流数据文件。
touch /var/log/log-file
测试(示例)
/usr/sbin/logrotate -d -f /etc/logrotate.d/sql
格式:
* * * * * 命令
因为是开发环境所以是宝塔目录
/usr/sbin/logrotate -d /etc/logrotate.d/配置文件
接手搭建的生产环境
/usr/sbin/logrotate -d /etc/logrotate.d/配置文件