正文
linux日志切割命令 linux日志切割工具
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Linux下使用cronolog切割服务器日志文件的方法
Linux下运行的Web服务器Apachelinux日志切割命令,默认日志文件是不分割的linux日志切割命令,一个整文件既不易于管理linux日志切割命令,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。
cronolog安装配置非常简单,下载后只需要输入几个命令即可完成。
1、下载(最新版本)
# wget
2、解压缩
# tar zxvf cronolog-1.6.2.tar.gz
3、进入cronolog安装文件所在目录
# cd cronolog-1.6.2
4、运行安装
# ./configure
# make
# make install
5、查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
整个安装过程结束,下面需要把日志的格式配置一下:
1、虚拟主机配置文件 httpd-vhosts.conf
将Web日志设置 CustomLog 修改为以下格式
CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined
当然,错误日志设置 ErrorLog 也可以利用 cronolog 分割,设置为
ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"
2、如果服务器上只有一个站点(当然这种情况比较少),直接按上面所说格式修改 httpd.conf 文件日志设置部分。
说明:
绿色部分 为 cronolog 安装后所在位置,系统版本不同可能位置不完全一样,以 which 命令查看到的位置为准;
蓝色部分 为设置的日志文件所在位置,根据需要修改;
红色部分 为设置的日志文件标识性字符,根据需要修改;
%Y%m%d 为日志文件分割方式,例子中为“年月日”,也可以修改成自己需要的。
修改httpd.conf文件:
这个文件在我的电脑上是在 /etc/httpd/conf/httpd.conf 不同的服务器 应该是不一样的
在最后加上
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
ErrorLog /data/logs/apache/webapps.wps.cn-error_log
CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%d/access_log.%H" combined
#这个保证了每天一个文件夹 文件夹下 每个小时产生一个log
#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined
进入到 /etc/init.d/httpd configtest 这样验证你的配置文件是否正确
进入到 /etc/init.d/httpd restart 重启apache 服务器(不同的'系统应该是不一样 要自己找到)
用于Tomcat
第一步
将
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改为
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi
第二步
将
touch "$CATALINA_OUT"
改为
#touch "$CATALINA_OUT"
第三步
将
org.apache.catalina.startup.Bootstrap "$@" start
"$CATALINA_OUT" 21
修改为
org.apache.catalina.startup.Bootstrap "$@" start 21
| /usr/local/sbin/cronolog "$CATALINA_OUT" /dev/null
重新启动 Tomcat
service tomcat restart
可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。
后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的 log 档即可。
Linux系统日志切割-Logrotate
日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。
在Debian或Ubuntu上:
在Fedora,CentOS或RHEL上:
logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下。
参数详解:
上面的模板是通用的,而配置参数则根据你的需求进行调整,不是所有的参数都是必要的。
logrotate可以在任何时候从命令行手动调用。要调用为/etc/lograte.d/下配置的所有日志调用logrotate:
要为某个特定的配置调用logrotate,执行一次切割任务测试
即使轮循条件没有满足,我们也可以通过使用‘-f’选项来强制logrotate轮循日志文件,‘-v’参数提供了详细的输出。
防止访问日志文件过大
logrotate工具对于防止因庞大的日志文件而耗尽存储空间是十分有用的。配置完毕后,进程是全自动的,可以长时间在不需要人为干预下运行。本教程重点关注几个使用logrotate的几个基本样例,你也可以定制它以满足你的需求。
linux切割、备份大的nohup日志文件
nohup.out日志文件太大了,且一直增长,命令查看日志受阻
①切割大文件变成多个小文件
②每天定时保存前一天的日志,重新记录当天日志
1.利用split命令切割
①按文件大小切割大文件:
切割文件:将ohup.out文件每500M切割一个文件放到/home/nginx/logs/newlog/目录下
②按文件行数切割大文件:
查询文件行数:
wc -l b.log
2038711 b.log
按50W行切割一个文件:
split -l 500000 -d -a 4 /home/nginx/logs/b.log /home/nginx/logs/newlog/
2.定时备份前一天日志,重新记录当天日志splitlog.sh
3.定时执行
查看定时任务:
crontab -l
编辑定时任务:
crontab -e
重启定时任务:
删除10天以前的日志文件,此日期为文件本身的时间,非日志内容时间
linux日志切割命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux日志切割工具、linux日志切割命令的信息别忘了在本站进行查找喔。