三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]

三二 美国服务器 香港服务器

硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何定期清理CentOS 7.6系统中的无用文件?

美国、香港服务器

如何定期清理CentOS 7.6系统中的无用文件?

09-20   来源:

 在 CentOS 7.6 中,可以通过 定时任务(crontab)+ 清理脚本 实现无用文件的定期自动清理,既安全又高效。以下是具体实现方法:

一、创建自动清理脚本
首先编写一个包含清理逻辑的脚本(如 system_cleanup.sh),集中定义需要清理的文件类型和规则,方便维护。
1. 创建脚本文件
bash
sudo vim /usr/local/bin/system_cleanup.sh
2. 脚本内容(安全清理规则)
bash
#!/bin/bash
# 系统定期清理脚本,清理无用文件释放空间
 
# 定义日志文件(记录清理过程,便于排查)
LOG_FILE="/var/log/system_cleanup.log"
echo "===== 清理开始:$(date) =====" >> $LOG_FILE
 
# 1. 清理 yum 缓存(保留元数据,删除下载的 rpm 包)
echo "清理 yum 缓存..." >> $LOG_FILE
yum clean packages >> $LOG_FILE 2>&1
 
# 2. 清理 /tmp 和 /var/tmp 下超过 7 天未使用的文件
echo "清理临时文件..." >> $LOG_FILE
find /tmp -type f -mtime +7 -delete >> $LOG_FILE 2>&1
find /var/tmp -type f -mtime +7 -delete >> $LOG_FILE 2>&1
 
# 3. 清理 30 天前的日志轮转文件(带日期后缀的旧日志)
echo "清理旧日志文件..." >> $LOG_FILE
find /var/log -type f \( -name "*.log-*" -o -name "*.log.*" -o -name "*.gz" \) -mtime +30 -delete >> $LOG_FILE 2>&1
 
# 4. 清理超过 30 天的系统邮件队列(若无需保留)
echo "清理旧邮件队列..." >> $LOG_FILE
find /var/spool/mail/ -type f -mtime +30 -exec truncate -s 0 {} \; >> $LOG_FILE 2>&1
 
# 5. 清理旧内核(保留最新的 2 个内核)
echo "清理旧内核..." >> $LOG_FILE
package-cleanup --oldkernels --count=2 -y >> $LOG_FILE 2>&1
 
echo "===== 清理完成:$(date) =====" >> $LOG_FILE
echo "" >> $LOG_FILE  # 空行分隔每次清理记录
3. 赋予脚本执行权限
bash
sudo chmod +x /usr/local/bin/system_cleanup.sh
二、测试脚本(关键步骤)
在设置定时任务前,先手动执行脚本,确保无错误且不会误删文件:
bash
sudo /usr/local/bin/system_cleanup.sh
执行后检查日志,确认清理过程正常:
bash
cat /var/log/system_cleanup.log
三、设置定时任务(crontab)
通过 crontab 配置定期执行脚本(如每周日凌晨 3 点执行),避免占用业务高峰期资源。
1. 编辑系统级定时任务
bash
sudo crontab -e
2. 添加定时任务规则
在打开的文件中添加以下内容(表示每周日 3:00 执行清理脚本):
bash
# 每周日凌晨 3 点执行系统清理脚本
0 3 * * 0 /usr/local/bin/system_cleanup.sh
时间格式说明:分 时 日 月 周,0 3 * * 0 表示 “每周日 3 点 0 分”。
若需调整频率:
每天执行:0 3 * * *
每月 1 日执行:0 3 1 * *
3. 保存并生效
按 ESC 后输入 :wq 保存退出,crond 服务会自动加载新任务。
四、进阶:自定义清理规则
根据实际需求,可在脚本中添加更多清理规则,例如:
清理用户下载目录中 30 天前的文件:
bash
find /home/*/Downloads -type f -mtime +30 -delete >> $LOG_FILE 2>&1
清理 Docker 无用镜像和容器(若安装了 Docker):
bash
echo "清理 Docker 冗余资源..." >> $LOG_FILE
docker system prune -af >> $LOG_FILE 2>&1  # -a 清理所有未使用资源,-f 强制确认
五、注意事项
日志记录:脚本中加入了日志输出($LOG_FILE),便于追踪清理内容和排查问题。
安全边界:脚本仅清理系统默认的临时文件、旧日志、缓存等,避免直接删除 /bin、/lib 等系统核心目录。
权限控制:使用 sudo 执行脚本和定时任务,确保有足够权限删除系统文件。
定期检查:建议每月查看一次清理日志(/var/log/system_cleanup.log),确认无异常删除。
通过这种方式,系统会自动定期清理无用文件,无需手动操作,既保证了磁盘空间充足,又最大限度降低了误删风险。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:没有了 下一篇:如何安全地删除系统日志文件以释放空间?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)