首页 > 系统相关 >CentOS清理、巡检脚本

CentOS清理、巡检脚本

时间:2024-10-16 11:22:08浏览次数:7  
标签:巡检 log CentOS 清理 echo print awk date

清理脚本

#!/bin/bash
# 清理缓存脚本
echo "同步磁盘数据到内存"
sync
# 清理页面缓存、目录项缓存和inode缓存
echo "清理缓存..."
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
echo "清理完成"

nacos清理脚本

#! \bin\bash

###用于定时清除nacos当天之前的日志文件###
###目录根据实际情况填写###
date=`date -d "$date -1 day" +"%Y-%m-%d"`
delFilePath="/mnt/nacos/bin/logs/access_log.${date}.log"

if [  -f "${delFilePath}" ];then
    rm -rf ${delFilePath}
fi

rm -rf /mnt/nacos/logs/*.log.*.0
———————————————————————————————————————————————————————————————————————————————————————————#!/bin/bash  
###目录根据实际情况填写###
# 定义日志目录  
logDir1="/mnt/nacos/bin/logs"  
logDir2="/mnt/nacos/logs"  
  
# 查找并删除大于60天的access_log文件  
find "$logDir1" -type f -name "access_log.*.log" -mtime +60 -exec rm -f {} \;  
  
# 查找并删除大于60天的.log.*.0文件  
find "$logDir2" -type f -name "*.log.*.0" -mtime +60 -exec rm -f {} \;

清理大于100MB的nohup.out文件

#!/bin/sh
echo "开始清除/data、/root、/home、/mnt目录下大于100MB的nohup.out"
###根据实际填写目录与清理大小规则###
find_result=$(find /data /root /home /mnt -name 'nohup.out' -type f -size +100M)
if [ -z "$find_result" ]; then
    echo "无大于100MB的nogup.out"
else
    echo "$find_result"
    find /data /root /home /mnt -name 'nohup.out' -type f -size +100M -exec sh -c '
        if [ -s "$0" ]; then 
            echo "清理内容 $0..."
            echo "" > "$0"
            echo "$0 清理完成"
        else
            echo "$0 为空"
        fi
    ' {} \;
fi

MySQL清理大于30天的二进制日志

#!/bin/bash

mysql_user="your_mysql_user"
mysql_password="your_mysql_password"
mysql_host="localhost"  # 如果有远程数据库,请更改此值

# 获取30天前的日期
date_threshold=$(date -d '30 days ago' +"%Y-%m-%d")
# 删除30天前的二进制日志
echo "清除早于 $date_threshold "
mysql -u$mysql_user -p$mysql_password -h$mysql_host -e "PURGE BINARY LOGS BEFORE '$date_threshold 00:00:00';"

echo "清理已完成"

nginx清理大于30天的日志

#!/bin/bash

# 根据实际填写目录
log_dir="/var/log/nginx/"

# 获取当前日期并减去30天
date_threshold=$(date -d "30 days ago" +"%Y%m%d")

# 查找并删除30天前的日志文件
find "$log_dir " -type f -name "*.log-*" | while read -r file; do
    # 提取日志文件的日期部分
    file_date=$(echo "$file" | grep -oE "[0-9]{8}" | head -n 1)

    # 检查日期是否早于阈值
    if [[ -n "$file_date" && "$file_date" < "$date_threshold" ]]; then
        echo "删除 $file"
        rm -f "$file"
    fi
done

# 可选:删除0字节的gzip压缩日志文件
find "$log_dir" -type f -name "*.log-*.gz" -size 0 -exec rm -f {} \;

echo "清理完成."

巡检脚本

#服务器巡检脚本
echo "1. 日期"
echo "2. IP、网络状态、服务器开机时间、当前登录用户、主机名"
echo "3. 系统信息"
echo "4. 内核信息"
echo "5. cpu信息"
echo "6. cpu的使用率、空闲率"
echo "7. 内存的使用率、空闲率"
echo "8. 磁盘的使用率、空闲率"
echo "9. 当前登录的用户数量"
echo "10. 系统当前的进程的数量"
echo "11. 当前最占CPU的进程是"
echo "12. 最后一次重启的时间"



#!/bin/bash
ping -c 1 www.baidu.com > /dev/null 2>&1
if [ $? -eq 0 ];then
    net_stats="ok"
else
    net_stats="no"
fi
echo "---------------系统信息--------------------"
echo "日期: $(date)"
echo "主机名: $HOSTNAME"
echo "主机IP: $(ifconfig  | sed -n 2p | awk '{print $2}')"
echo "网络状态: $net_stats"
echo "服务器开机时间: $(uptime | awk '{print $3}' | awk -F ',' '{print $1}')"
echo "服务器系统信息: $(cat /etc/redhat-release)"
echo "系统内核信息: $(uname -r)"
echo "当前登录系统的用户数量: $(who | wc -l)"
echo "当前登录用户: $(whoami)"
echo "最近一次重启时间: $(who -b)"
echo "---------------硬件信息--------------------"

echo "CPU型号: $(grep 'model name' /proc/cpuinfo | awk -F : '{print $2}')"
echo "CPU核心数: $(grep -c processor /proc/cpuinfo)"
echo "CPU空闲率: $(vmstat | sed -n 3p | awk '{print $15}')"
echo "内存的使用率: $(free | awk '/Mem/{print $3/$2*100}')%"
echo "内存的空闲率: $(free | awk '/Mem/{print $4/$2*100}')%"
echo "根分区使用率: $(df -h / | sed -n 2p | awk '{print $5}')"

echo "---------------进程的信息--------------------"
echo "系统目前有 $(ps -ef | wc -l) 个进程"
echo "目前最占CPU的进程是: `ps -ef | awk '{print $4,$8,$9}' | sort -nr | sed -n 1p | awk '{print $2,$3}'`"

标签:巡检,log,CentOS,清理,echo,print,awk,date
From: https://blog.csdn.net/Jerry9845/article/details/142975470

相关文章

  • 清理Exchange 2013和2016的Log文件(精华)
    清理Exchange2013和2016的Log文件(精华)清理Exchange2013和2016的Log文件【摘要】在你的Exchange2013/2016的环境中,你可能会发现你的系统盘会很快被占用了很多空间,并且如果你不理会它的话,很快你的系统盘剩余空间就会告急了。这是因为Exchange2013/2016默认的日志记录行为导......
  • centos离线安装docker,docker-compose
    安装环境操作系统:Centos7.99内核版本:3.10.0-1160.el7.x86_64安装用户:rootdocker离线安装1下载压缩包官网下载地址:https://download.docker.com/linux/static/stable/x86_64/这里默认选择最新版本(26.0.2)。2上传压缩包并解压tarzxvfdocker-26.0.2.tgz3......
  • centos 替换yum源
    要替换CentOS系统的yum源,您可以按照以下步骤操作:备份原有的yum源配置文件:sudomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup下载新的yum源配置文件。这里以阿里云的镜像源为例:对于CentOS7:sudocurl-o/etc/yum.repos.d/CentOS-Bas......
  • centos 8.4学习小结
    1.权限委派 2.vim快捷方式2.1非正常关闭文本处理方式 2.2快捷方式2.3TAB键补齐安装包[root@cloudPackages]#rpm-ivhbash-completion-2.7-5.el8.noarch.rpm2.4#history查询历史记录[root@cloud~]#vim/etc/profileHISTSIZE=1000(默认保存1000条历史记录,......
  • linux---centos7.9给/扩容
    linux给/扩容1.添加新磁盘(例如我添加新的磁盘为1TB=1000GB)随后重启机器------------必须要重启虚拟机才能识别!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#lsblk可以看到重启后识别出了sdb磁盘1T[root@localhost~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:005......
  • centos7 升级内核
    1.更新系统yumupdate-y2.添加elrepo软件源yuminstallvim-yvi/etc/yum.repos.d/elrepo.repo添加以下内容[elrepo]name=elrepobaseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64gpgcheck=0enabled=13.刷新源数据缓存yumcleanall&&yumm......
  • uwsig 随系统启动 (centos)
    uwsig随系统启动(centos) uwsig随系统启动(centos)要在CentOS系统中让uWSGI随系统启动,你可以创建一个系统服务单元文件。以下是一个基本的uWSGI服务文件示例:首先,找到你的uWSGI配置文件(通常是.ini文件)的位置。创建一个新的服务单元文件,例如/usr/lib/systemd/system/uwsgi.ser......
  • centos 让 mysql 随系统启动
    [root@VM-8-12-centos~]#systemctlenablemysqlFailedtoexecuteoperation:Nosuchfileordirectory systemctlstartmysqldJobformysqld.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusmysqld.service"......
  • 最详细CentOS7.6安装openGauss5.0.3教程
    一、环境准备1.1主机信息项目内容操作系统CentOS7.6IP192.168.4.201主机名opgs201CPU8core内存16GB磁盘1100GB1.2操作系统准备创建一个虚拟机安装操作系统,选择带GUI的安装1.3准备安装环境安装python3安装python3,因为这个新装的cento......
  • 华为云 linux centos8 安装tendis
    一、下载下载地址:http://tendis.cn/#/点击右上角的Download点击tendisplus-2.7.0-rocksdb-v8.5.3.tgz,由于下载速度非常慢,改用wget方式下载解决云服务器中访问github速度慢的问题:linux中在/etc/hosts中添加如下内容:20.205.243.166github.com输入下载命令:wgethttps:/......