分享一个实用脚本——服务器日志清理脚本

概述今天主要分享一个日志清理脚本 , 下面一起来看看吧~
日志清理脚本默认清理/var/log下的日志 , 默认保留14天 。
#!/bin/bash#################################################################### copyright by hwb# DATE:2020-11-03# 用途:清理过期日志文件####################################################################传参log_path="/var/log/"clean_day="14"file_size=3M#单文件大小countSize=0#清理日志文件大小date=`date +"%Y-%m-%d-%H:%M:%S"`#调用函数库[ -f /etc/init.d/functions ] thenlog_path=$1if [ -n "$2" ];thenclean_day=$2fifi#防止误操作传参为/目录if [ $log_path = "/" ] ;thenecho ""echo -e "\033[31m*****************************大哥 , 别搞事情啊 , 你这是要删根目录!*****************************\033[0m"exit 1fifunction log_clean(){echo ""echo -e "\033[33m*******************手动清理${log_path}目录下日志,保留${clean_day}天***************************************\033[0m"echo ""echo -e "\033[36m Usage: $0 需清理路径[默认为/var/log/]需清理天数[默认为14] \033[0m"echo ""#清理过期日志logFileList=`find $log_path-type f -size +$file_size -ctime +$clean_day`if [ -n "$logFileList" ];thenecho "[${date}] >>> 需清理的日志如下:"for i in $logFileListdofileSize=`ls -l $i | awk '{print $5}'`countSize=`expr $countSize + $fileSize`rm -rf $iecho "$i 文件已清理!"doneelseaction "[${date}] >>> ${log_path}目录下没有需要清理的日志" /bin/falseficountSize=`expr $countSize / 1048576`echo -e "\033[33m*****************成功清理${log_path}目录$clean_day天之前的日志,释放空间${countSize}MB******************************\033[0m"echo ""}log_clean
分享一个实用脚本——服务器日志清理脚本文章插图
执行脚本执行过程如下:
分享一个实用脚本——服务器日志清理脚本文章插图
分享一个实用脚本——服务器日志清理脚本文章插图
【分享一个实用脚本——服务器日志清理脚本】后面会分享更多devops和DBA方面的内容 , 感兴趣的朋友可以关注下!
分享一个实用脚本——服务器日志清理脚本文章插图