-
日志分割
2018-06-13 15:53:33日志分割每一台都需要做vi /etc/logrotate.conf # see "man logrotate" for details# rotate log files weeklymonthly # keep 4 weeks worth of backlogsrotate 4 # create new (empty) log files ...日志分割
每一台都需要做
vi /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
monthly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
#注释掉
#include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
#注释掉
#/var/log/wtmp {
# monthly
# create 0664 root utmp
# minsize 1M
# rotate 1
#}
#/var/log/btmp {
# missingok
# monthly
# create 0600 root utmp
# rotate 1
#}
脚本存储文件夹
mkdir /usr/shell
编写脚本
cd /usr/shell
vi
具体查看 shell脚本.txt,
cd /usr/shell
vi alllog
#/bin/bash
#xxx是你脚本名字
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
/usr/shell/xxx
赋予脚本权限
chmod a+x /usr/shell/*
mkdir /opt/log
分割全部日志
/usr/shell/alllog
脚本定时运行
crontab –e
加一句
10 00 * * * /bin/bash /usr/shell/alllog
服务器文件同步
只在nginx服务器上面做
vi /etc/rsyncd.conf
uid = root
gid = root
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[logs]
path = /opt/log
ignore errors
read only = true
list = true
auth users = backup
secrets file = /etc/rsyncd.pwd
vi /etc/rsyncd.pwd
backup:dadao
只在日志储存节点上面做
vi /usr/shell/daylog
#/bin/bash
rsync -avzP --password-file=/etc/rsyncd.pwd backup@第一台nginx的ip::logs /opt/log-nginx1
rsync -avzP --password-file=/etc/rsyncd.pwd backup@第二胎nginx的ip::logs /opt/log-nginx2
mkdir /opt/log-nginx1
mkdir /opt/log-nginx2
同步文件
/usr/shell/daylog
定时
crontab -e
20 00 * * * /bin/bash /usr/shell/daylog
-
apache使用日志分割模块rotatelogs分割日志详解
2020-09-15 20:57:11本文介绍了apache使用自带的日志分割模块rotatelogs分割日志,rotatelogs 是 Apache 2.2 中自带的管道日志程序,具体使用方法请参考下 -
tomcat日志分割脚本
2018-05-04 16:27:29自己写的tomcat日志分割脚本,自动分割日志,自动删除过期日志,也可以用于其他容器日志分割,稍加修改即可 -
日志分割带有完整的说明,对linux上面产生的日志进行分割
2018-04-04 13:13:50日志分割带有完整的说明,对linux上面产生的日志进行分割日志分割带有完整的说明,对linux上面产生的日志进行分割 -
日志分割问题
2021-01-12 15:31:11<div><p>swoft v2.0.6 日志分割问题 只有在重启的时候才会产生新的日志文件 否则会一直写入一个文件,并不会按天分割 </p><p>该提问来源于开源项目:swoft-cloud/swoft</p></div> -
Apache日志分割
2020-11-27 00:28:56日志分割 随着网站的访问量越来越大,默认情况下Apache服务器产生单个日志也会越来越大,不对日志分割,那么日志文件占用磁盘会越来越大,如果直接删除会丢失很多比较宝贵的信息,而这些日志可以用来访问分析,网络...日志分割
随着网站的访问量越来越大,默认情况下Apache服务器产生单个日志也会越来越大,不对日志分割,那么日志文件占用磁盘会越来越大,如果直接删除会丢失很多比较宝贵的信息,而这些日志可以用来访问分析,网络安全监考,网络运行状况监控等。
解决办法:我们将会Apache的日志每天进行分割。
Apache自带rotatelogs分割工具实现
绝对路径错误日志文件分割
which rotatelogs '获取软件绝对路径' vi /etc/httpd.conf 找到 ErrorLog "logs/error_log" '改引用绝对路径' ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400" '一天就是86400秒' systemctl restart httpd cd /usr/local/httpd/logs/ ll '查看 '
错误日志文件分割
绝对路径正确日志文件分割
which rotatelogs '获取软件绝对路径' vi /etc/httpd.conf 找到 ErrorLog "logs/error_log" '改引用绝对路径' ErrorLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" '一天就是86400秒' systemctl restart httpd cd /usr/local/httpd/logs/ ll '查看 '
第二种第三方软件分割
提前将包纳入 直接解包
编译安装
tar zxvf cronolog-1.6.2.tar.gz cd cronolog-1.6.2/ ./configure make &&make install '编译安装'
which rotatelogs '获取软件绝对路径' vi /etc/httpd.conf '修改绝对路径' 找到 ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400" 修改 ErrorLog "|/usr/local/sbin/cronolog logs/error2_log_%Y-%m-%d" 找到 CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common 修改CustomLog "|/usr/local/sbin/cronolog logs/access2_log_%Y-%m-%d" common systemctl restart httpd
去浏览器测试访问
cd /usr/local/httpd/logs/ ll '查看 '
-
日志分割源码包.zip
2020-08-08 17:12:08日志分割源码包.zip -
MongoDB日志分割
2018-12-07 11:47:04mongo默认是没有进行日志分割的,所有的日志持续写到一个文件中。缺点是很明显的,日志文件会越来越大 占用过多磁盘空间 日志文件写入性能越来越低 问题排查越来越困难 配置分割策略 要实现日志分割,首先要配置...mongo默认是没有进行日志分割的,所有的日志持续写到一个文件中。缺点是很明显的,日志文件会越来越大
- 占用过多磁盘空间
- 日志文件写入性能越来越低
- 问题排查越来越困难
配置分割策略
要实现日志分割,首先要配置日志分割策略,在mongodb的配置中,
systemLog
下添加logRotate
配置。logRotate总共有两种取值:
rename
说实话,不是很理解这个名字。
这种策略下,需要写一个shell脚本,加到crontab里面
shell脚本内容如下:#!/bin/sh datafile=/var/run/mongodb logfile=/var/log/mongodb days=15 /bin/kill -SIGUSR1 `cat $datafile/mongod.pid` find $logfile/ -mtime +$days -delete
crontab配置每晚凌晨0点执行
0 0 * * * /opt/shell/mongodb_log_rotate.sh > /dev/null 2>&1 &
脚本干了两件事
- 给mongod进程发出SIGUSR1信号之后,mongod就会乖乖的分割日志。
- 清除超过15天的日志
reopen
如果是通过Linux或者Unix系统的logRotate工具来分割,就需要指定reopen, 当然
logappend
必须也不能少。关闭文件然后重新打开可以防止日志文件丢失。
你需要在/etc/logrotate.d/
目录下新建一个名为mongod的文件,加上如下内容:/var/log/mongodb /*log { create 0644 mongod mongod daily rotate 15 missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 `cat /run/mongodb/mongod.pid 2>/dev/null` 2>/dev/null || true endscript }
这个配置文件的权限必须为
-rw-r--r--
,不然logrotate不认。分割之后的文件名格式就是文件名加上分割的时间戳,如
mongod.log.2018-05-16T13-08-58
。当然这个时间格式可以通过timeStampFormat
来配置,默认的是iso8601-local
,还可以选择ctime
和iso8601-utc
-
uwsgi日志分割
2020-12-08 15:22:32uwsgi日志分割(踩坑实录) 今天给uwsgi项目配置日志分割,结果怎么都不生效,各种百度都无法解决,最后发现多次执行 uwsgi --ini uwsgi.ini是不会报错的,但是会导致原来的uwsgi进程无法写入日志文件,但新的进程又...uwsgi日志分割(踩坑实录)
今天给uwsgi项目配置日志分割,结果怎么都不生效,各种百度都无法解决,最后发现多次执行
uwsgi --ini uwsgi.ini
是不会报错的,但是会导致原来的uwsgi进程无法写入日志文件,但新的进程又没成功启动,这样日志文件就没有信息了。
只要先把原uwsgi进程kill或者执行uwsgi --stop uwsgi.pid
, 我傻到执行错命令,执行成uwsgi --stop uwsgi.ini
,真是晕了,下面记录一下配置信息。今天由于这个问题弄了好久!!1、配置如下
[uwsgi] # 这里的选项是socket / http 使用nginx再上socket, 不然就使用 http socket = :5000 chdir = ./AudioBottle_Service/ wsgi-file = user_management.py callable = app processes = 4 threads = 2 stats = 127.0.0.1:9191 pidfile = uwsgi.pid lazy-apps = true master-fifo = ./mfifo touch-chain-reload = true # master = true # 指定监听文件,修改后重新打开日志 touch-logreopen = /home/sstest/project/touchforlogrotate #日志路径 daemonize = /home/sstest/project/uwsgi.daemonize.log
2、定时脚本
#!/bin/bash DIR=`echo $(cd "$(dirname "$0")"; pwd)` LOGDIR="${DIR}/log" echo ${DIR} >> tmp.txt echo ${LOGDIR} >> tmp.txt sourcelogpath="${DIR}/uwsgi.daemonize.log" touchfile="${DIR}/touchforlogrotate" echo ${sourcelogpath} >> tmp.txt echo ${touchfile} >> tmp.txt DATE=`date -d "today" +"%Y%m%d"` destlogpath="${LOGDIR}/uwsgi.daemonize.${DATE}.log" echo ${DATE} >> tmp.txt echo ${destlogpath} >> tmp.txt mv $sourcelogpath $destlogpath touch ${touchfile}
3、设置定时任务
crondtab -e # 在里面写入一行 0 0 * * * sh 上面的定时脚本路径 # 执行命令开启定时任务 systemctl start crond # 设置开机自启动 systemctl enable crond # 重启crond systemctl restart crond
4、小tip
可以把定时任务写的小一点比如
* * * * * sh 脚本路径
,先测试是否能够实现日志分割的功能,再改回来! -
NGINX日志分割
2020-09-27 21:23:33NGINX日志分割 nginx 日志分割 主要用到的命令是 /usr/local/nginx/sbin/nginx -s reopen /usr/local/nginx 是我的nginx目录 利用上面命令我们可以写一个脚本每天定时执行,就可以做到切割日志 我简单用PHP写的脚本... -
logrotate进行nginx日志分割.docx
2020-12-04 01:21:03logrotate 进行nginx日志分割 日志分割常用方法 自己写脚本分割 使用linux自带的logrotate 前者灵活可以应对各种需求自定义文件夹文件名后者配置简单使用方便 下面我们以分割nginx日志为例介绍一下使用logrotate分割... -
apache 日志分割
2020-06-20 12:00:22Window apache 全局设置日志分割 apache [httpd.conf] 配置文件 开启日志模块:LoadModule log_config_module modules/mod_log_config.so ; # 去除前面分号 //找到以下2行 注释第一行 ErrorLog "logs/error.log" ... -
tomcat日志catalina,nginx日志分割脚本
2020-05-14 14:36:02tomcat日志catalina,nginx日志分割脚本tomcat日志catalina,nginx日志分割脚本catalina分割脚本nginx日志分割脚本crontab 定时任务 tomcat日志catalina,nginx日志分割脚本 catalina分割脚本 #!/bin/bash #此脚本... -
python logging日志分割_python+logging+yaml实现日志分割
2020-12-18 13:14:26本文实例为大家分享了python+logging+yaml实现日志分割的具体代码,供大家参考,具体内容如下1、建立log.yaml文件version: 1disable_existing_loggers: Falseformatters:simple:format: "%(asctime)s - %(filename)s... -
tomcat日志分割
2020-03-20 21:47:26tomcat日志分割 1、在某个目录下创建脚本 echo '' > auto-deal-log.sh 2、编写脚本 #备份 cp /usr/local/apache-tomcat-8.5.34/logs/catalina.out /usr/local/apache-tomcat-8.5.34/logs/catalina.backup.out #... -
Apache日志分割&日志分析
2018-06-07 16:32:17Apache日志分割 随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不采用日志分割,当日志文件不断增大时,当占用太大的磁盘空间时将会被系统删除,而且随着日志文件的增大,... -
Apache日志分割——rotatelogs分割工具
2019-10-25 12:08:01日志分割 1.随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大 (1)日志文件占用磁盘空间很大查看相关信息不方便 2.对日志文件进行分割 (1)Apache自带rotatelogs分割工具实现 (2)第三方工具... -
Tomcat日志分割
2018-12-27 13:50:00Tomcat日志分割 一.背景 Tomcat 日志如果长时间未处理,会有一个很大的log文件,查看不是很方便,如果根据时间每天记录一个日志,可以很方便的查看问题以及删除老旧的日志文件。 二.操作 我们采用日期形式切割... -
日志分割建议
2018-09-26 17:04:00日志分割建议 建议:按时间但不按大小分割,理由: 按时间并按大小分割,存在少量因服务器重启而混乱的风险; 按时间不按大小分割,根据日志大小列表及时段,就可以知道应用访问的高峰期在哪个时段,也能在一定... -
nginx日志分割脚本
2019-10-09 08:18:48nginx日志不自动带日志分割功能,需要自己写脚本分割日志,并加入到每日任务中,定期分割、存储、删除日志 此脚本包括,日志分割、保存、删除、重建日志文件 #!/bin/bash #date +%Y%m%d%H%M%S YEAR=`date ... -
Nginx日志分割脚本
2019-12-25 19:13:29文章目录一、概述二、编写日志分割脚本三、执行脚本四、验证 一、概述 Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割,并通过Linux的计划性周期性地进行日志切割。 ... -
Apache访问之日志分割
2019-12-16 16:07:53文章目录一、Apache日志分割二、日志分割之rotatelogs2.1、日志分割过程2.2、时间设置三、第三方工具日志分割 一、Apache日志分割 随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大 日志文件... -
nginx多server日志分割脚本分享
2020-09-15 20:17:19主要介绍了nginx多server日志分割脚本,需要的朋友可以参考下 -
apache日志分割和日志分析
2020-11-26 22:28:20apache日志分割和日志分析1. apache配置剖析1. Apache连接保持2. Apache访问控制Apache访问控制概述Apache日志管理 1. apache配置剖析 1. Apache连接保持 Apache连接保持相关参数 1.KeepAlive (默认是On) *是否... -
Apache日志分割/分析
2020-11-26 19:07:43Apache日志分割/分析一.日志分割1.原因2.对日志文件进行分割3.配置日志分割4.使用cronolog进行日志分割二.日志分析1.概述2.配置1.手动加载cgi模块2.编译安装awstats3.设置Apache服务器域名及hosts域名解析4.自动执行...
-
Excel高级图表技巧
-
C++异步串口通信
-
cgi/fastcgi停止工作
-
51单片机驱动——DS18B20
-
ProBuilder快速原型开发技术
-
npp.7.9.1.Installer.x64.rar
-
thinkphp5.1博客后台实战视频
-
传奇2地图读取 (带寻路算法及源码).rar
-
基于单片机RFID-RC522门禁防盗报警系统(原理图、源程序、论文)
-
MacOS Windows 平台 IntelliJIDEA 快捷键中文说明文档
-
Qt项目实战之基于Redis的网络聊天室
-
LVS+Keepalived 实现高可用群集框架构建
-
【数据分析-随到随学】Mysql数据库
-
android笔试面试和实战课程
-
蓝桥杯历年真题.zip
-
【数据分析-随到随学】Hive详解
-
Java Web开发之Java语言基础
-
电子时钟protues仿真及程序.rar
-
基于STM32+W5500, 移植Ethernet文件并基于NTP实现RTC对时更新,USART可实现DMA 接收任意长度数据-C代码类资源
-
UE4初学笔记11_蓝图入门05_按键响应 和 DeltaSeconds