在CentOS系统中,定期清理系统垃圾是维持系统性能和磁盘空间的重要步骤。以下是一个简单的CentOS清理脚本编写及使用指南,帮助你自动执行删除一些系统和应用程序的文件的操作。
创建脚本文件
使用文本编辑器创建一个新的脚本文件,例如 cleanup.sh
:
vi cleanup.sh
添加清理内容
在脚本文件中添加以下内容:
#!/bin/bash
# 记录清理前的可用空间
before=$(df -h / | awk '/\// {print $4}')
# 清理yum缓存
yum clean all
# 清理旧的日志文件
find /var/log -type f -name "*.log" -exec truncate --size 0 {} \;
# 清理回收站
echo "Emptying trash..."
rm -rf /root/.local/share/Trash/*
# 清理历史命令记录
history -c
history -w
# 清理临时文件
rm -rf /tmp/*
rm -rf /var/tmp/*
# 清理旧的系统备份
rm -rf /var/backups/*
# 清理不再使用的软件包和依赖项
yum autoremove -y
# 清理旧的内核
package-cleanup --oldkernels --count=1 -y
# 清理缓存文件
find /var/cache -type f -exec rm -rf {} \;
# 清理用户缓存
for user in $(ls /home); do
rm -rf /home/$user/.cache/*
done
# 清理邮件日志
find /var/mail -type f -exec truncate --size 0 {} \;
# 清理core文件
find / -name "core" -delete
# 清理旧的会话文件
find /var/lib/php/session -type f -delete
# 清理系统邮件队列
service postfix stop
rm -rf /var/spool/postfix/*
service postfix start
# 清理久未使用的软件包缓存
dnf clean packages -y
# 清理系统崩溃日志
rm -rf /var/crash/*
# 清理journalctl日志
journalctl --rotate
journalctl --vacuum-time=1d
# 清理系统缓存
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
# 计算清理了多少大小的文件
cleared=$(df -h / | awk '/\// {print $4}')
echo "清理前可用空间: $before"
echo "清理后可用空间: $cleared"
echo "磁盘清理完成。"
设置脚本权限
给脚本文件添加可执行权限:
chmod +x cleanup.sh
手动执行脚本
在终端中运行脚本:
./cleanup.sh
设置定时任务
使用 crontab
设置定时任务,例如每天凌晨执行清理脚本:
crontab -e
添加以下行:
0 1 * * * /path/to/cleanup.sh
这行表示每天凌晨1点执行清理脚本。
希望这个指南能帮助你有效地管理和优化CentOS系统环境。如果有任何问题,请随时联系。