#!/bin/bash
# 磁盘空间分析和清理脚本
echo "=== 磁盘空间分析 ==="
# 找出占用空间最大的目录
echo "占用空间最大的目录 TOP 10:"
du -h /var 2>/dev/null | \
sort -hr | head -10 | \
awk '{printf "%-10s %s\n", $1, $2}'
# 找出大文件
echo "大于100MB的文件:"
find /var/log -type f -size +100M -exec ls -lh {} \; 2>/dev/null | \
awk '{printf "%-10s %s\n", $5, $9}' | \
sort -hr
# 分析日志文件增长趋势
echo "日志文件大小变化 (最近7天):"
for i in {0..6}; do
date_str=$(date -d "$i days ago" '+%Y-%m-%d')
total_size=$(find /var/log -name "*.log*" -newermt "$date_str 00:00:00" ! -newermt "$date_str 23:59:59" -exec du -cb {} + 2>/dev/null | tail -1 | awk '{print $1}')
if [ -n "$total_size" ] && [ "$total_size" -gt 0 ]; then
printf "%s: %.2f MB\n" "$date_str" $(echo "scale=2; $total_size/1024/1024" | bc)
fi
done
版权属于:
mrui
评论 (0)