磁盘空间100%时,简单的处理办法。

no space left on device的意思是:设备没有剩余空间,磁盘空间不足。
当我们发现磁盘空间已满的时候,往往我们要去删部分日志文件,但有不知道那些文件占用磁盘较大时,下面就是查看磁盘情况,和查找那些文件占用磁盘较大,并如何删除部分日志文件。

1.在Linux中,你可以使用以下命令来查看磁盘空间的情况:

df命令:df命令用于显示文件系统的磁盘空间使用情况。默认情况下,它会显示所有挂载的文件系统的信息。以下是一些常用的选项:

df -h:以人类可读的方式显示磁盘空间,以便更容易理解大小。
df -T:显示文件系统的类型。
df -i:显示文件系统的inode使用情况。

例如,运行df -h将显示所有挂载的文件系统的磁盘空间使用情况。

du命令:du命令用于估算文件和目录的磁盘使用情况。你可以使用以下命令来查看指定目录的磁盘使用情况:

du -h /path/to/directory:以人类可读的方式显示指定目录的磁盘使用情况。
du -sh /path/to/directory:仅显示指定目录的总磁盘使用情况,而不显示子目录的详细信息

例如,运行du -h /home将显示/home目录下所有文件和目录的磁盘使用情况。

lsblk命令:lsblk命令用于列出块设备(如硬盘、分区和挂载点)的信息。它可以显示磁盘的大小、使用情况和挂载点等。运行lsblk将显示所有块设备的信息。

这些命令将提供关于磁盘空间的详细信息,包括已使用空间、可用空间和总空间等。你可以根据需要选择合适的命令来查看磁盘空间的情况。

2. 你可以使用以下命令来查找哪些文件占用了较大的磁盘空间:

du命令:du命令用于估算文件和目录的磁盘使用情况。你可以使用以下命令来查找当前目录下的文件和目录的大小,并按照大小进行排序:

du -h --max-depth=1 | sort -hr

这将显示当前目录下所有文件和目录的大小,并按照从大到小的顺序进行排序。
find命令:find命令用于查找文件和目录。你可以结合du命令和find命令来查找指定目录下大小超过一定阈值的文件或目录。以下是一个示例命令,查找/var/log目录下大小大于1GB的文件:

find /var/log -type f -size +1G

这将列出/var/log目录下大小大于1GB的文件
ncdu命令:如果ncdu工具未安装,你可以通过包管理器进行安装(例如,aptyum)。ncdu是一个交互式的磁盘使用情况分析工具,可以方便地查找大文件和大目录。你可以使用以下命令来运行ncduncdu /

这将对整个文件系统进行扫描,并以交互方式显示磁盘使用情况。

这些命令将帮助你找到占用磁盘空间较大的文件和目录。根据具体情况,你可以决定是否删除这些文件、转移它们到其他位置或采取其他清理措施。请注意,执行这些命令可能需要管理员权限。

3. linux 查询该目录下log文件占用磁盘的大小

# 要查询特定目录下的日志文件占用的磁盘大小,你可以使用以下命令:

du -h /path/to/directory/*.log

#/path/to/directory替换为你要查询的目录路径。上述命令会列出该目录下所#  有以.log为扩展名的文件,并显示它们的磁盘使用情况。
# 如果你想递归地查询子目录中的日志文件,请使用以下命令:

du -h /path/to/directory/**/*.log

# 这将递归地搜索指定目录及其所有子目录中的日志文件,并显示它们的磁盘使用情况。

请注意,这些命令仅计算文件本身的大小,并不包括文件相关的元数据或索引。此外,这些命令可能需要一些时间来完成,具体取决于目录的大小和文件数量。

4. 删除日志文件

# 可以使用tail命令和重定向符号>来实现只保存某个日志文件的后5000行数据,并直接覆盖原始日志文件。命令如下:

tail -n 5000 logfile > logfile

你可能感兴趣的:(其他,服务器,linux,数据库)