温馨提示×

怎样利用centos脚本自动清理

小樊
38
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