linux日志自动分割shell
随着服务器运行时间不断增加,各种日志文件也会不断的增长,虽然硬盘已经是白菜价了,但是如果当你看到你的一个日志文件达到数十G的时候是什么感想?下面的脚本实现了如下功能:
- 自动对日志文件进行分割
- 对分割后的日志文件进行压缩
# 以在阿里云上运行的nginx服务为例
date=`date +%Y-%m-%d_%H-%M-%S`
rotatename=/alidata/server/nginx/logs/access.${date}.log
logname=/alidata/server/nginx/logs/access.log
if [ -f "$rotatename" ]
then
sleep
date=`date +%Y-%m-%d-%H-%M-%S`
rotatename=/alidata/server/nginx/logs/access.${date}.log
fi
mv $logname $rotatename
# 告知应用程序重载配置文件(不进行次步骤的话日志会记录到重命名后的文件中),
# 不同的应用程序此步骤可能会不一样
kill -USR1 `cat /alidata/server/nginx/logs/nginx.pid`
# 等待1s,使重载配置文件生效
sleep
# gzip压缩,如果已经有了特别大的日志量,建议先手动使用split命令进行分割,
# 然后再分别进行压缩,否则会消耗大量cpu并影响线上业务
gzip $rotatename
在crontab中根据自己需要定时执行此shell即可。
如果再优化一下还可以把以日期为分割标准改为以文件大小为分割标准,此时定时任务的执行频率可以相对频繁一些。
linux日志自动分割shell的更多相关文章
- Nginx 日志自动分割
Nginx 的日志都是写在一个文件当中的,不会自动地进行切割,如果访问量很大的话,将导致日志文件容量非常大,不便于管理和造成Nginx 日志写入效率低下等问题.所以,往往需要要对access_log. ...
- Linux日志文件分割
经常有这样的情况,日志文件或者数据文件会变得很庞大,那么每次对这些目标文件的访问或者修改就会变得极其耗时.因而引发一些性能问题,但是如果对这些目标文件进行分割,限定其大小,那么每次的访问或者修改就会变 ...
- linux tomcat自动部署shell
#!/bin/bash #defined TOMCAT_HOME="/usr/java/tomcat/tomcat" TOMCAT_PORT=80 PROJECT ...
- Linux**系统实现log日志自动清理
Linux系统实现log日志自动清理 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Linux日志切割方法[Logrotate、python、shell实现方式]
Linux日志切割方法[Logrotate.python.shell实现方式] 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 ...
- Linux系统下分割tomcat日志
在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...
- 自动分割nginx服务的日志文件
nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能.通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能. #!/bin/bash ...
- 基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件
最近处理一个日志功能,用log4net的配置不能完全满足要求,所以在其基础上简单封装了一下,支持以下功能: 1 零配置 内置默认配置,引用dll后不需要添加或修改任何配置文件也可以使用 2 动态指定文 ...
- linux文件分割(将大的日志文件分割成小的)
linux文件分割(将大的日志文件分割成小的) linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在L ...
随机推荐
- CXF学习笔记 之 “注解”
@WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值为 Java 类的简单名称 + Service.(字符 ...
- OpenLDAP 使用记录
导出数据: slapcat -l export.ldif
- Python操作Word:常用对象介绍
前面已经介绍过了试用win32com类库来进行Word开发,系列文章<Python操作Word>是继承了前面的文章,所以,你应该先查看前面的文章,其实只有两篇,文章地址列在最下面的参考资料 ...
- iOS中autolaylout和sizeclass的理解
没发现居然有三四个月没写博客了,好惭愧.都是加班太多了,还好现在换了一家,还是得继续写啊. 主要是学习了http://onevcat.com/上的内容写的笔记,并自己动手操作了一下. 已经排好版了,懒 ...
- HTML5关于上传API的一些使用(中)
上一次写了关于HTML的上传API,XMLHttpRequest2.0的上传方式,以及HTML5中上传之前本地的预览,包括对于图片以及部分信息的预 览.这次我们就讲下HTML5中关于上传的一些各种个性 ...
- list中存放map实例
list中存放map实例 2016年08月08日 18:46:14 阅读数:22279 List中存放Map遍历输出的实例 import java.util.ArrayList; import ...
- alert的美化
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- e2fsprogs 移植
e2fsprogs是用维护ext2,ext3和ext4文件系统的工具程序集.检测和修复文件系统,需要用到其中的fsck, ext2fs等工具, 由于开发板上没有,重新制作文件系统又比较麻烦.所以就需要 ...
- IIS状态码大全【转】
对于站长来说,经常分析下网站的IIS日志是有好处的,这样可以随时了解SE蜘蛛是否经常光顾自己的网站,都抓取了哪些页面,被抓取的页面哪些是被正常的,哪些是不正常的.而IIS日志有专门的返回状态码,为了方 ...
- Oracel 数据库面试题
1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHE ...