centos

如何利用脚本自动化CentOS清理

小樊
44
2025-06-10 10:19:06
栏目: 智能运维

要利用脚本自动化 CentOS 清理,您可以编写一个 shell 脚本,用于删除不需要的文件、缓存和临时文件。以下是一个简单的示例脚本,用于清理 CentOS 系统:

#!/bin/bash

# 清理 YUM 缓存
yum clean all

# 删除 /tmp 目录下的临时文件
rm -rf /tmp/*

# 删除 /var/tmp 目录下的临时文件
rm -rf /var/tmp/*

# 删除日志文件
log_files=(
  "/var/log/messages"
  "/var/log/secure"
  "/var/log/maillog"
)

for log_file in "${log_files[@]}"; do
  if [ -f "$log_file" ]; then
    # 保留最近 7 天的日志文件
    find "$log_file" -type f -mtime +7 -exec rm {} \;
  fi
done

# 删除旧的内核版本
package_name=$(rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(rpm -q kernel))
current_kernel=$(uname -r | sed 's/-[^-]*$//')
available_kernels=$(yum list installed | grep kernel | awk '{print $1}')
for kernel in $available_kernels; do
  if [[ $kernel != *$current_kernel* ]]; then
    yum remove -y $kernel
  fi
done

# 删除不再需要的软件包
yum autoremove -y

# 清理缓存文件
echo 3 > /proc/sys/vm/drop_caches

echo "CentOS 清理完成"

将此脚本保存为 cleanup_centos.sh,然后通过运行以下命令使其可执行:

chmod +x cleanup_centos.sh

现在,您可以通过运行以下命令来执行脚本:

./cleanup_centos.sh

请注意,这个脚本只是一个基本的示例,您可能需要根据您的需求进行调整。在执行任何清理操作之前,请确保您了解脚本的作用,并备份重要数据。

0
看了该问题的人还看了