清理脚本
#!/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