centos

怎样利用centos脚本自动清理

小樊
49
2025-11-01 16:57:23
栏目: 智能运维

在CentOS系统中,你可以编写一个Shell脚本来自动清理系统垃圾文件,释放磁盘空间。以下是一个简单的示例脚本,用于清理临时文件、日志文件和缓存文件:

  1. 打开终端。

  2. 使用文本编辑器(如vim、nano等)创建一个新的Shell脚本文件。例如,使用vim创建一个名为cleanup.sh的文件:

vim cleanup.sh
  1. 在打开的编辑器中,粘贴以下脚本内容:
#!/bin/bash

# 清理临时文件
echo "清理临时文件..."
rm -rf /tmp/*
rm -rf /var/tmp/*

# 清理日志文件
echo "清理日志文件..."
log_files=$(find /var/log -type f -name "*.log" -size +100M)
for log_file in $log_files; do
    echo "删除日志文件: $log_file"
    rm -f $log_file
done

# 清理缓存文件
echo "清理缓存文件..."
yum clean all
rm -rf /var/cache/yum/*

# 清理包管理器缓存
echo "清理包管理器缓存..."
dnf clean all

# 清理大文件
echo "清理大文件..."
find / -type f -size +100M -exec ls -lh {} \;

echo "清理完成!"
  1. 保存并关闭编辑器。

  2. 为脚本添加可执行权限:

chmod +x cleanup.sh
  1. 运行脚本:
./cleanup.sh

这个脚本会清理临时文件、大于100MB的日志文件、YUM缓存和DNF缓存。你可以根据需要修改脚本中的文件大小阈值和其他清理选项。

如果你希望定期自动运行此脚本,可以将其添加到cron任务中。例如,每天凌晨1点运行脚本:

  1. 打开终端。

  2. 输入以下命令编辑当前用户的crontab文件:

crontab -e
  1. 在打开的编辑器中,添加以下行:
0 1 * * * /path/to/cleanup.sh >> /var/log/cleanup.log 2>&1

/path/to/cleanup.sh替换为实际的脚本路径。

  1. 保存并关闭编辑器。现在,脚本将每天凌晨1点自动运行,并将输出重定向到/var/log/cleanup.log文件。

0
看了该问题的人还看了