【Shell脚本分割Nginx日志,并定期清理】教程文章相关的互联网学习教程文章

shell脚本----周期压缩备份日志文件【代码】【图】

一、日志文件样式 二、目标 1、备份压缩.log结尾&&时间样式为“date +%Y%m%d”的日志文件(如:20170912、20160311等)2、可指定压缩范围(N天前至当天):如:今天、昨天(date -d "-1 day" +%Y%m%d)至今天、前天至今天压缩命名格式为:日期.tar.gz(或:日期.tar.bz2),压缩N天范围内文件后将会生成N个压缩包3、可指定压缩模式(二选一):tar czf 或 tar cjf4、可指定删除范围:删除N天前的日志文件,如:今天为20170912,删除3...

自动清除过期的Tomcat日志的shell脚本【代码】

(友好提示:本文属于初级shell编程,高手可忽略此文) 在产品环境运行过程中,每天会切割产生按天计的日志文件,这些日志文件一般在过一定期限以后就没什么用处了,因此需要定期删除掉这些过期的日志文件。本文以CentOS下的Tomcat为应用环境基础,通过shell脚本的方式定时自动删除过期的Tomcat日志文件,以减少磁盘空间的占用、减轻管理员的日常工作。 一、shell脚本代码:#!/bin/bash # # filename: clearExpiredTomcatLogs...

日志切割备份(测试)shell脚本

#!/bin/bashCD=`df -l |awk‘NR==3 {print $4}‘|awk ‘BEGIN {FIELDWIDTHS="2 1"}‘‘{print $1}‘`if [ $CD -ge 20];then echo "硬盘空间已满,不能进行备份"| mutt -s "备份报警,请及时更换硬盘" lrtao2010@yeah.net&& exit 1filogrotate -f/etc/logrotate.conftar zcf/opt/backup/`date +%Y%m%d%H%M`.tat.gz /var/log/messages.* &>/dev/nullRT=`echo $?`if [ $RT -eq 0];then echo "`date +%Y%m%d%H%M`备份成功...

日志文件删除shell脚本【代码】

大日志文件切割shell脚本#!/bin/bash # --------------------------------------------------------------------- # 日志文件300M分割,并zip压缩,每个项目仅保留最新30个文件, # 文件格式:项目名称-年月日时分秒.zip # Author : # Date : # Email : # Version : 1.0 # ---------------------------------------------------------------------# 日志目录 LOG_DIR=‘/log‘ # 日志文件名称,支持正则表达式,多个使...

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大这时,无论是出现异常时查日志,还是使用“GoAccess”等工具对日志进行分析都将会变得非常麻烦。因此,每天定时对nginx日志进行切割压缩就非常有必要了二 实现我的实现思路是每天晚上接近12点时定时执行脚本。其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接...

用Shell脚本动态分析maillog日志,把恶意IP用防火墙禁止

用Shell脚本动态分析maillog日志,把恶意IP用防火墙禁止系统环境:Centos 6.5 x64 Postfix邮件系统装好后,发现maillog中太多“SASL LOGIN authentication failed”垃圾IP地址。此脚本用于定期自动的将垃圾IP加入到防火墙中,直接拒绝掉。maillog部分信息如下 用户可以根据自己日志文件中的关键字,灵活的来调整要加入到防火墙当中的IP地址。Jun 11 03:58:36 host postfix/smtpd[11783]: warning: static-200-105-200-14.acelera...

Linux定时对日志批量打包Shell脚本及定时任务crontab 详细用法【代码】【图】

一、需求背景 因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间。为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合crontab定时每周一对上周7天的日志打包压缩,并删除原被打包的日志文件,以腾出更多可利用的存储资源空间。 对于初次接触Shell脚本的同学,建议先花几个小时时间学习一下Shell。附Shell教程链接如下: http://www.runoob.c...

对nginx的日志进行分割的shell脚本

#!/bin/bashlogs_path="/opt/nginx/logs/"pid_path="/opt/nginx/logs/nginx.pid"mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").logkill -USR1 `cat ${pid_path}`crontab -e00 00 * * * sh /opt/shell/cutnginx.sh该脚本不能执行可能原因:脚本没有X权限在非root用户下调用时需要密码,放到root用户下即可本文出自 “dba天空” 博客,请务必保留此出处http://9425473.blog.51cto.com/9415473/166...

Shell脚本分割Nginx日志,并定期清理

默认nginx只会生成一个访问日志,在每天的积累下,日志文件会变的非常大,如果需要做一下日志的分析,无论是使用脚本分析,还是把日志下载本地分析,都不太方便。每天分割Nginx的访问日志,有利于分析日志。一:新建脚本文件vim cut_nginx_log.sh #!/bin/bash#nginx access log segmentation shell script#www.webyang.net#日志目录log_dir="/usr/local/nginx/logs/"cd $log_dirtime=`date +%Y%m%d --date="-1 day"`#nginx启动目录...

Linux下使用RMAN和控制文件备份删除归档日志的SHELL脚本【图】

Linux下使用RMAN和控制文件备份删除归档日志的SHELL脚本 在Oracle用户下的定时器设置 [oracle@SHARKDB dbscripts]$ crontab -l# minute hour day month week15 1 * * 0 sh /home/oracle/dbscripts/backup_full.sh05 3 * * * sh /home/oracle/dbscripts/del_arc.sh全备脚本 先配置保留时间窗口,配置备份目录和格式,然后交叉检查所有备份集. 删除无效备份集,删除过期对象,进行全备份并压缩.. [oracle@SHARKDB dbscripts]$ cat ba...

shell脚本运行日志通用模块

目标 实现记录SHELL执行的开始时间,结束时间,运行状态,错误信息等,以函数封装日志记录的方式,脚本调用函数 源码 通用函数脚本program_log_new.sh function init_log(){sqlplus -S test/passw0rd@orcl EOFinsert into program_log values($id,$day,$1, s目标 实现记录SHELL执行的开始时间,结束时间,运行状态,错误信息等,以函数封装日志记录的方式,脚本调用函数 源码 通用函数脚本program_log_new.shfunction init_log() {...

shell脚本分析mysql慢查询日志(slow log)

使用percona公司的pt-query-digest分析慢查询日志,分析、统计的结果的比较清晰 #!/bin/shslowlog_path=/root/slow_query_log everyslow=/tmp/everydayslow ##需要下载pt-query-digest pt_digest=/root/pt-query-digeststart_string=$(grep `date --date="0 days ago" %y%m%d` ${slowlog_path}|head -1) start_pos=$(grep -n `date --date="0 days ago" %y%m%d` ${slowlog_path}|head -1|awk -F: ‘{print $1}‘) end_pos=$(grep -...

SHELL脚本监控oracle alert日志【代码】

思路:按alert日志行号取当前最后一行和上一次扫描的行对比 大于等于上一次扫描的行 就从上一次扫描的行开始 扫描到最后一行#!/bin/bash scriptHome=`dirname $0` scriptName=`basename $0` logDir=$scriptHome/logs #logfile=$logDir/$scriptName_$(date "+%Y%m%d").log logfile=$logDir/ora-error.log runfile=$logDir/run.log alertLogFile=/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log ip=`ifconfig | sed ‘2q...

nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱【代码】

安装mailx,靠它来发送邮件 yum install mailx 编辑配置文件 vim /etc/mail.rc #添加如下内容set from=xxxx@163.com set smtp=smtp.163.com set smtp-auth-user=xx@qq.com set smtp-auth-password=xxx set smtp-auth=login---说明 from:对方收到邮件时显示的发件人 smtp:指定第三方发邮件的smtp服务器地址 set smtp-auth-user:第三方发邮件的用户名 set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码 smtp-auth:S...

mysql增量备份二进制日志shell脚本

#!/bin/bash #?Date:2017-10 #?Description:backup?mysql?binary?logs #?Version:0.1db_user="root" myisam_db="mysql" db_passwd="123456" host="localhost" export?PATH="/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" backup_dir="/opt/backup/mysql/bin" log_file="/opt/backup/mysql/bin/bin_log_file.log" bin_index="/mydata/data/mysql-bin.index" data_dir="/mydata/da...