近日见闻
- TypeScript 5.3 已正式发布。
- Sam Altman 重返 OpenAI 担任首席执行官。”我们已达成原则性协议,让 Sam 重返 OpenAI 担任首席执行官,并组建由 Bret Taylor(主席)、Larry Summers 和 Adam D'Angelo 组成的新董事会。”
- FreeBSD 14.0 正式发布。
恢复Linux磁盘空间全面指南
运维告警里比较常见的就是磁盘空间超过告警阀值的情况,遇到这种情况是最常见的,只要不影响业务以及不是快速占满磁盘的情况下,就可以慢慢着手解决问题。以下是比较常用的步骤。
步骤1:检查磁盘空间
首先,你需要知道问题的所在。通过终端,你可以使用 df
命令查看磁盘空间使用情况。
df -h
这个命令会列出每个挂载点的可用空间,-h
参数让信息以易读的格式(如GB、MB)显示。
步骤2:找出占用空间最多的文件和目录
一旦你知道了空间资源紧张的分区,你可以使用 du
命令来找出哪些文件或目录占用了最多的空间。
du -sh /path/to/directory | sort -rh | head -20
这个命令将在指定目录下显示占用空间最大的前20个文件或目录。
使用ncdu工具
ncdu是一个用于查看磁盘使用情况的简单工具,提供了一个基于文本的用户界面。
安装ncdu(如果尚未安装):
代码语言:javascript复制sudo apt-get install ncdu # Debian/Ubuntu系统
sudo yum install ncdu # CentOS系统
使用ncdu扫描文件系统:
代码语言:javascript复制ncdu /
步骤3:删除不必要的文件
检查列表中的项目,看看是否有不再需要的文件或者可以转移到其他存储设备的数据。使用 rm
命令来删除文件:
rm /path/to/unwanted/file
对于目录,你可以使用带有 -r
(递归)标志的 rm
命令:
rm -r /path/to/unwanted/directory
注意: 使用 rm
命令时要非常小心,因为删除后无法恢复。
使用find命令删除旧文件
自动查找并删除一定时间前的文件:
代码语言:javascript复制find /path/to/directory -type f -mtime 30 -exec rm {} ;
这个命令会删除30天前的文件。
步骤4:清理缓存和临时文件
Linux系统经常存储临时文件和缓存,这些文件随着时间的推移可能会占用大量的空间。使用以下命令清理:
代码语言:javascript复制sudo apt-get clean # 对于Debian系的系统
sudo yum clean all # 对于RedHat系的系统
此外,你可以手动删除 /tmp
目录下的文件。
sudo rm -rf /tmp/*
步骤5:日志文件管理
日志文件是另一个可能占用大量空间的来源。查看 /var/log
目录,并考虑删除旧的或不必要的日志文件。你可以使用 logrotate
工具来帮助管理日志文件。
sudo find /var/log -type f -name "*.log" -mtime 30 -exec rm {} ;
步骤6:查找并删除重复文件
有时候,系统中可能会有不小心复制的重复文件。你可以使用 fdupes
或 rdfind
等工具来找到和删除这些文件。
sudo apt-get install fdupes # Debian/Ubuntu系统
sudo yum install fdupes # CentOS系统
fdupes -r /path/to/directory
步骤7:磁盘配额管理
如果是多用户系统,考虑设置磁盘配额来限制用户使用的空间量,这可以通过 quotacheck
、quotaon
和 edquota
等命令完成。
步骤8:扩展磁盘空间
扩展硬盘空间最直接,这可能包括添加新的硬盘、调整分区大小或使用网络附加存储(NAS)。
步骤9:使用文件系统特性
如果文件系统支持,比如xfs可以通过启用压缩来节省空间。
步骤10:压缩文件
如果它们不是经常访问,可以使用压缩工具如tar和gzip来减少它们的大小:
代码语言:javascript复制tar -czvf name-of-archive.tar.gz /path/to/directory
磁盘空间的管理是Linux系统维护的重要组成部分。通过定期检查和清理,可以确保系统运行顺畅,并避免因磁盘空间不足导致的问题。始终在执行删除操作前备份重要数据,以防意外发生。