日志清理脚本

#!/bin/bash#定义日志所在分区当前空间所占比例数(去掉%)。grep -w表示精准匹配,只匹配"/"这个分区
LOG_PARTITION=$(`which df` -h|awk '{print $5,$6}'|grep -w "/"|cut -d" " -f1|awk -F"%" '{print $1}')
#定义一周前的日期,用于日志分区空间超过设定的阈值后保留的份数(这里保留一周的日志)
KEEP_DATE=`date -d '-7 days' +%Y%m%d`
#定义日志路径
LOG_DIR=/opt/log/kevin
#定义日志备份路径(即当日志分区空间超过阈值后,将日志转移到该处。这里就转移到了本地home分区下,也可以转移到别的机器或远程存储设备上)
LOG_BACK_DIR=/home/log/kevin#确保日志备份路径存在,如果不存在,则创建该路径。
if [ ! -d ${LOG_BACK_DIR} ];then`which mkdir` -p ${LOG_BACK_DIR}
elseecho "${LOG_BACK_DIR} is exist" >/dev/null 2>&1
fi#当日志分区当前空间超过90%时执行的动作
if [ ${LOG_PARTITION} -ge 90 ];then#切换到日志路径下cd ${LOG_DIR}#截取日志文件中的日期,比如stepweb_20190915.log日志文件,则截取20190915for LOG_DATE in $(ls -l ${LOG_DIR}|awk '{print $9}'|cut -d"_" -f2|awk -F"." '{print $1}')do#当日志文件中截取的日期是一周之前的日志时执行的动作if [ ${LOG_DATE} -lt ${KEEP_DATE} ];then#打包,转移,删除#注意这里tar使用-P参数,因为tar默认为相对路径,使用绝对路径的话会报错"Removing leading `/’ from member names",使用-P参数就解决了该问题`which tar` -zvPcf ${LOG_DIR}/stepweb_${LOG_DATE}.log.tar.gz ${LOG_DIR}/stepweb_${LOG_DATE}.logmv ${LOG_DIR}/stepweb_${LOG_DATE}.log.tar.gz ${LOG_BACK_DIR}/rm -rf ${LOG_DIR}/stepweb_${LOG_DATE}.logelseecho "keep stepweb_${LOG_DATE}.log" >/dev/null 2>&1fidone
elseecho "${LOG_PARTITION} is available" >/dev/null 2>&1
fi#!/usr/bin/sh
#根据系统/服务/日志保留天数三个参数压缩日志
#usage: sh clearlog.sh sysname appname keepdays
sysName=$1
appName=$2
keepDay=$3
logDir=/var/log/${sysName}/${appName}
logFile=${appName}.log
cd ${logDir}
find ./ -name "${logFile}.*[0-9][0-9]" -mtime +${keepDay} -exec gzip {} \;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s二进制安装

1. 前言 之前文章安装 kubernetes 集群,都是使用 kubeadm 安装,然鹅很多公司也采用二进制方式搭建集群。这篇文章主要讲解,如何采用二进制包来搭建完整的高可用集群。相比使用 kubeadm 搭建,二进制搭建要繁琐很多,需要…

Logstash mutate 插件

mutate 插件可以在字段上执行变换,包括重命名、删除、替换和修改。这个插件相当常用。 比如: 你已经根据 Grok 表达式将 Tomcat 日志的内容放到各个字段中,想把状态码、字节大小或是响应时间,转换成整型;你已经根据正则…

nginx日志分析脚本

#!/usr/bin/env bashecho "" echo " " echo " \ Nginx日志安全分析脚本 V1.0 / " echo " " echo " # 支持Nginx日志分析,攻击告警分析等 " echo " # auth…

ELK学习笔记之Logstash详解

0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining capabilities。简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时…

nginx-zabbix监控脚本

nginx_status_fun (){#函数内容NGINX_PORT$1#端口,函数的第一个参数是脚本的第二个参数,即脚本的第二个参数是段端口号NGINX_COMMAND$2#命令,函数的第二个参数是脚本的第三个参数,即脚本的第三个参数是命令nginx_active(){ #获…

percona-xtrabackup备份

#!/bin/bash # 需要安装 percona-xtrabackup # xtrabackup: https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/ # xtrabackup 版本:2.4.24 (RPM安装) # MySQL 版本: 5.7.36 (RPM安装) # version: 22.01.17# 备份服务器 ip DB_BACKUP_SERVER"…

k8---proxy

kube-proxy 通过 Informer知道了Service、endpoints对象的创建,然后把service身上的CLUSTER-IP 和端口已经端点信息拿出来,创建iptable NAT规则做转发或通过ipvs模块创建VS服务器,这样经过CLUSTER-IP的流量都被转发到后端pod。 iptables模式 …

k8s--configmap

当卷中使用的ConfigMap被更新时,所投射的键最终也会被更新。kubelet组件会在每次周期性同步时检查所挂载的ConfigMap是否为最新。 不过,kubelet使用的是其本地的高速缓存来获得ConfigMap的当前值。 ConfigMap既可以通过watch操作实现内容传播(默认形式&…

etcd命令

[rootlocalhost calico]# etcdctl get /coreos.com/network/subnets/4.0.32.0-24 {"PublicIP":"10.8.65.53"} 从etcd中查询出4.0.32.0/24的子网的宿主机host的ip10.8.65.53。

docker搭建ldap

1.下载镜像 docker pull osixia/openldap docker pull docker.io/osixia/phpldapadmin 2.运行镜像 docker run -dit --name ldap23 --restartalways -p 389:389 -p 636:636 -e LDAP_ORGANISATION”test” -e LDAP_DOMAIN”test.com” -e LDAP_ADMIN_PASSWORD123456″ osixi…

centos 缩减逻辑卷

在使用期间磁盘空间不足,发现/dev/mapper/centos-home下还有很多空间,如果想要将home下面的磁盘空间分配到root磁盘下面,可以使用以下方法 查看磁盘空间,每个人的磁盘名称可能不同 df -h 1 备份home文件 tar cvf /tmp/home.tar /…

zabbix自动发现监控脚本

自动发现端口列表脚本 # -*- coding: utf-8 -*- import os import json data{} tcp_list[] port_list[] commandos.popen("ss -4tln | awk -F [ :] NR>2{print $5}") for port in command:port_list.append(port.strip()) for port in port_list:port_dict{}por…

获取cpu使用率脚本

#!/bin/bash # 获取要监控的本地服务器IP地址 IPifconfig | grep inet | grep -vE inet6|127.0.0.1 | awk {print $2} echo -e "\033[32mIP地址:\033[0m" $IP echo -e "\033[31m获取CPU\033[0m" # 获取cpu总核数 cpu_numgrep -c "model n…

获取磁盘使用率

#!/bin/bash #用途:监控磁盘的使用情况。 #定义检查磁盘的空间使用率函数 userroot topnum10 local_diskdir/data/jiankong/disk mkdirdisk() { if [ ! -d $disktmpdir ];then mkdir $disktmpdir fi } chk_sp() {ip$1n$(wc -l $local_diskdir/$ip/chk_sp.log | awk …

python邮件脚本

#用于发送测试报告(带附件)或其它内容# -*- coding:utf-8 -*- import os import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipartclass SendEmail(object):def __init__(self, receivers):mail_host "127.0.0.1" # …

Rsync+Inotify

RsyncInotify Rsync这个一般使用系统自带的服务,服务端需要启动客户端无需启动,服务端设置开机自动启动 systemctl start rsyncd systemctl status rsyncd systemctl restart rsyncd systemctl enable rsyncd Inotify单独下载安装&#xff0c…

logstash密码设置步骤

生成密钥存储仓库 cd /app/logstash-6.8.4/bin/ ./logstash-keystore create 输入y 添加Logstash中可引用的变量 ./logstash-keystore add es_user 输入elastic ./logstash-keystore add es_pwd 输入bamBoo123 ./logstash-keystore add kafka_pwd 输入bamBoo123 ./logstash…

清理cacahe脚本

#! /bin/bash # 需要释放内存的,内存使用百分比,可以传参,默认是85% max_rate$1 if [ ! "$max_rate" ] ; thenmax_rate85 fi echo "max_rate: $max_rate"totalfree -m | awk NR2 | awk {print $2} usedfree -m | awk NR2…

Prometheus node_exporter 指标说明及告警规则表达

Prometheus node_exporter 指标说明及告警规则表达_独步秋风的博客-CSDN博客_node exporter 指标