每个月定时清理压被日志脚本

因为需要日志的备份,所以就在以前的脚本的基础上重新改了下(http://jim123.blog.51cto.com/4763600/1912312),以实现日志的压缩备份和清理:

#!/bin/bash
#backup_log.sh:Used to compress the backup logs
#note:Need to install the system bizp2 or you must configure the yum source
#00 00 1 * * /usr/local/scripts/backup_log.sh
#writer jim
#histor
#2017.4.1
########PATH########
app_dir=/usr/local/scripts/text_app_dir
logs_dir=/data/logs/clrnup_logs
logs_back_dir=/data/logs/logs_backup
one_month_ago=$(date -d ‘-1 month‘ +%Y-%m)
datetime=$(date +"%Y-%m-%d")
datetime_dir=$logs_dir/"$datetime"
logs_dir_path=$(find $app_dir -type d -name ‘logs‘ -print)
logs_bz2_path=$(find $logs_back_dir -name "*${two_month_ago}*.bz2" -print)
 
if [ ! -e "$datetime_dir" ];then
        mkdir -p $datetime_dir
fi

if [ ! -e "$logs_back_dir" ];then
        mkdir -p $logs_back_dir
fi
########PATH########
rpm -qa | grep bzip2

if [ $? -ne 0 ];then
    yum -y install bzip2
fi

echo "============================ start move logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
 
for i in $logs_dir_path
do
    tmp_dirname=$(dirname $i)
    tmp_basename=$tmp_dirname
    if [ ! -e "${logs_back_dir}/${tmp_basename}" ];then
        mkdir -p ${logs_back_dir}/${tmp_basename}
    fi
    /usr/bin/bzip2 -z $i/*${one_month_ago}*
    $i/*.bz2 ${logs_back_dir}/${tmp_basename}
    echo "`date +"%Y-%m-%d %H:%M:%S"` $i move logs success" | tee -a $datetime_dir/logs_clenup_${datetime}.log
done
 
if [ $? -eq 0 ];then
    echo "============================ end move logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
    else
        echo "move logs fail!" | tee -a $datetime_dir/logs_clenup_${datetime}.log
fi

echo "============================ start clean logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log

for i in $logs_bz2_path
do
    rm -rf $(dirname $i)
    echo "`date +"%Y-%m-%d %H:%M:%S"` $i cleanup bz2 success" | tee -a $datetime_dir/logs_clenup_${datetime}.log
done

if [ $? -eq 0 ];then
    echo "============================ end clean logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
    else
        echo "clean logs fail!" | tee -a $datetime_dir/logs_clenup_${datetime}.log
fi
 
find $logs_dir -type f -ctime +90 -name "logs_clenup_*" -exec rm -vf {} \;
时间: 2024-10-13 22:28:26

每个月定时清理压被日志脚本的相关文章

自动清理IIS log 日志脚本

系统环境:windows server 2012 r2 IIS 版本:IIS8 操作实现清理IIS log File 脚本如下: @echo off ::自动清理IIS Log file set log_path=C:\inetpub\logs\LogFiles ::清理所有log 日志 for /f "delims=" %%i in ('dir /b /a-d /s %log_path%\"*.Log"') do ( del /S /F /Q %%i ) paus

linux 日志定时清理脚本

工作中经常会碰到服务日志占满服务器磁盘,如果不去清理,服务就可能无法正常工作.适当提高日志的打印级别,如info级别提高到warn可以临时缓解下,但也不长久之际, 还得写个脚本定时清理下. #!/bin/bash #clearLog.sh nginxDir=/usr/local/nginx/logs/* devInfo=($(df -l | awk '{print $1}')) #日志所处的磁盘 perInfo=($(df -l | awk '{print int($5)}')) #磁盘使用率

linux-实现日志的定时清理

定时清理分2步骤 1.查找出需要清理的文件 2.系统增加定时执行任务 第一步.vi dellog.sh 第二步.查找需要清理的文件 录入:find /var/log/nginx -mtime +7 -type f -name \*.log | xargs rm -f 其中 -mtime +7,为查找7天前的文件 http://blog.sina.com.cn/s/blog_716358dc0100lj5p.html -type f ,类型为文件 http://zhidao.baidu.com/l

定时删除日志文件---linux定时清理日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

oracle定时清理日志操作

下面介绍下oracle下定时清理归档日志文件操作. 假设:归档日志满,清空归档日志办法如下. 第一步:在c盘下面建立一个RMAN_DEL.txt文件 第二步:做一个批处理文件,名为:RAMN_DEL.bat 放在c盘的根目录.文件内容如下所示: 第三步:添加一个任务计划: 执行步骤如下图所示,任务计划出来后点击下一步设置参数即可. 以上为window下执行计划任务定时删除归档日志方法.如果是linux请操作本人写的linux定时任务操作.版权所有.转载请说明出处.

清理messages日志脚本

要求: 清楚/var/log下messages日志文件的简单命令脚本 要使用root身份来运行这个脚本 清楚日志脚本,版本 #!/bin/bash #清除日志脚本,版本2 LOG_DIR=/var/log ROOT_UID=0     #$UID为0的时候,用户才具有root用户的权限 #要使用root用户运行 if ["$UID" -ne "$ROOT_UID"] then echo "Must be root to run this script&qu

Elasticsearch索引定时清理

问题 近期,kibana页面上出现Elasticsearch plugin is red错误信息,重启elasticsearch后又频繁出现该问题,观察elasticsearch发现各节点之间出现连接超时的现象. 解决方法 怀疑是索引条目太多,导致Elasticsearch性能下降造成的,通过查询api发现大量索引是yellow状态:curl -XGET 'http://127.0.0.1:9200/_cat/indices/?v' yellow open user_audit-2018-08-

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

mysql定时清理binlog

一.没有主从同步的情况下清理日志 mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)'; #mysql 定时清理5天前的binlog mysql -u root -p #进入mysql 控制台 reset master; #重置binlog 二.MySQL主从同步下安全清理binlog日志 1.mysql -u root -p #进入从服务器mysql控制台 show slave