首页 > 系统相关 >linux 服务器清理

linux 服务器清理

时间:2025-01-07 15:30:46浏览次数:3  
标签:linux 文件 分区 清理 文件系统 dev 服务器 home 目录

起因

服务器报错:no space left on device
翻译:设备上没有剩余空间

解决方法

清理数据,这里有个点要注意,
对于重要文件,一定要备份。

步骤

1 首先,需要确定哪个分区或目录占用了大量空间。

df -h

执行结果示例:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           799M  1.3M  798M   1% /run
/dev/sda1        50G   45G  3.1G  94% /
tmpfs           3.9G  4.0K  3.9G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda5       200G  120G   71G  63% /home
tmpfs           799M   48K  799M   1% /run/user/1000

结果说明

Filesystem:显示文件系统的名称。这可以是物理硬盘分区(如/dev/sda1)、逻辑卷、网络挂载点(如NFS或SMB共享)或其他类型的文件系统。
Size:显示文件系统的总大小,以人类可读的格式(如G表示Gigabytes,M表示Megabytes)显示。
Used:显示已使用的空间大小。
Avail:显示可用的空间大小。
Use%:显示已使用空间的百分比。
Mounted on:显示文件系统挂载的挂载点,即文件系统中的哪个目录或路径与该文件系统相关联。
在上面的示例中:
/dev/sda1 分区是根文件系统(/),总大小为50GB,已使用45GB,剩余3.1GB,使用率为94%。
/dev/sda5 分区挂载在/home目录,总大小为200GB,已使用120GB,剩余71GB,使用率为63%。
tmpfs 是一种基于内存的临时文件系统,用于存储临时文件,它的大小和已用空间会根据系统负载和配置而变化。
udev 和其他设备相关的文件系统(如/dev/shm)通常用于系统内部目的,普通用户不需要过多关注。

具体需要关注哪个分区要看你的应用启动的时候会在哪个分区输出日志或生成数据文件。也就是说应用部署在哪个分区,就需要关注哪个分区。哪个分区的路径你要产生数据你就需要关注哪个分区。或者如果是初学者可以简单的看Use%这列,看哪个比较接近百分百,就去看那一行对应的Mounted on列,也就是服务器路径,清理这个路径里面的内容。
到这里我们要知道的信息是我需要清理哪个路径下面的内容。

2.找到对应的分区或者目录之后要进一步确认要清理的目录

这里面我推荐的命令是

du -ah / | sort -rh | head -n 10

这个命令如果权限不够可以尝试加sudo。

执行结果示例:

100G    /
50G     /home
45G     /home/user
20G     /var
15G     /var/log
10G     /usr
8.0G    /opt
6.0G    /lib
5.0G    /tmp
4.5G    /home/user/Documents

结果说明

du -ah /:du是“disk usage”的缩写,用于估算文件和目录的磁盘使用情况。-a选项表示“all”,即包括目录中的所有文件和子目录。-h选项表示“human-readable”,即以人类可读的格式(如K、M、G)显示磁盘使用情况。/表示根目录,即检查整个文件系统的磁盘使用情况。
|:管道符号,用于将前一个命令的输出作为后一个命令的输入。
sort -rh:sort用于对输入进行排序。-r选项表示“reverse”,即逆序排序(从大到小)。-h选项表示“human-numeric-sort”,即按照人类可读的数字格式进行排序(如能够正确识别并比较K、M、G等单位)。
head -n 10:head用于显示输入的前几行。-n 10表示显示前10行。
在上面的示例中:
/(根目录)占用了100G的磁盘空间(这个数字可能包括了挂载在根目录下的其他文件系统的空间,具体取决于系统配置)。
/home目录占用了50G。
/home/user目录占用了45G,是/home目录下的一个子目录。
接下来的几行显示了其他占用较多磁盘空间的目录,如/var、/var/log、/usr等。

可以看到目录的占用的磁盘空间大小是一个递进的关系。简单来说如果/home/user占用了很多磁盘空间,那么它的上级目录/home也一定占据了很多的磁盘空间,并且只多不少。
通常du -ah / | sort -rh | head -n 10看前十行就够了,当然对于比较复杂的情况也可以看更大的范围。

3清理目录,删除文件

1.清理某个路径下所有文件的命令
要清理(即删除)某个路径下的所有文件和子目录,可以使用rm -rf命令。但请务必小心,因为这个命令会递归地删除指定路径下的所有内容,并且不会提示确认。一定要对重要文件备份备份再备份。

rm -rf /home/tomcact/logs/*

注意:将/path/to/directory/替换为您要清理的实际路径。使用*表示删除该目录下的所有文件和子目录。如果您只想删除文件而保留子目录,可以使用find命令结合-type f选项:

find /home/tomcact/logs/ -type f -exec rm -f {} \;

2.删除某个特定的文件

rm /home/tomcact/logs/catalina.out

上面rm加文件路径是可以直接删除某个文件,但是对于calalina.out通常不会这样处理。直接删除打印日志会有问题。一般用下面的方法把文件置空。

> /opt/tomcat/logs/catalina.out

这个命令会打开 /opt/tomcat/logs/catalina.out 文件,并将其内容清空。如果文件不存在,这个命令会创建一个空文件。但是,请注意,如果 Tomcat 正在向该文件写入日志,这个操作可能会导致一些日志丢失(即那些尚未写入磁盘但在 Tomcat 内部缓冲区中的日志)。
或者

truncate -s 0 /opt/tomcat/logs/catalina.out

truncate 命令用于调整文件的大小。使用 -s 0 选项可以将文件大小设置为0,从而清空文件内容。与 > 操作符类似,如果文件不存在,truncate 命令通常会报错(除非使用了特定的选项来允许创建文件)。但是,truncate 通常被认为在处理大文件时比 > 更高效,因为它不需要实际地读取或写入文件内容。

3.删除某一类文件
删除Tomcat日志路径下所有以.log结尾的文件

find /home/tomcact/logs/ -name "*.log" -exec rm -f {} \;

标签:linux,文件,分区,清理,文件系统,dev,服务器,home,目录
From: https://blog.csdn.net/qq_42985657/article/details/144985134

相关文章

  • linux防火墙相关命令,开启关闭端口,服务,防火墙等
    linux防火墙相关命令,开启关闭端口,服务,防火墙等注意:以下所有命令在centos7.6环境下测试,其他linux环境请自行测试注意:在linux中,不是管理员登录,最好在指令前加上sudo提权,避免权限不够执行失败带来的麻烦,以下命令请都加上sudo,这是一个好习惯。#开启/关闭防火墙systemctlstartfi......
  • Linux(Centos 7.6)命令详解:rmdir
    1.命令作用如果目录为空,则删除该目录(RemovetheDIRECTORY(ies),iftheyareempty)2.命令语法Usage:rmdir[OPTION]...DIRECTORY...3.参数详解OPTION:--ignore-fail-on-non-empty,忽略每个因为目录为非空的错误(如果目录非空,不会报错也不会删除非空目录)-p,--parent......
  • 防坑指南,搞深度学习小白必备的服务器装机知识
    很多时候,我们想要跑大模型,但是实验室的算力资源有限,分到每一个同学身上就更少了,有的同学可能会选择去租赁算力,但是时间长了就不是很划算了,有时候导师会给我们一笔钱让我们去组装一台用于深度学习的服务器,那么究竟知道哪些必要知识能让我们装机的时候少被商家坑呢?首先明确一个......
  • [shell/linux] Shell 管道流机制及原理
    缘起:shell管道流Shell有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)。那么,shell管道流的原理是如何的?以多个管道流命令(catxxx.log|grep-i"keyword"|jq-r......
  • 如何处理云服务器远程登录提示负载过高无法登录的问题
    问题描述:尝试远程登录云服务器时,提示负载过高,无法稳定登录。如何解决这个问题?解决方案:当遇到云服务器远程登录提示负载过高无法稳定登录的问题时,可以按照以下步骤进行排查和解决:监控服务器性能:首先,使用云服务商提供的监控工具或第三方监控软件(如Prometheus、Grafana等)实时监......
  • IDEA中连接redis服务器失败解决方案
    问题分析若在配置文档中redis服务器的ip地址,端口号,密码都正确情况下,IDEA还是无法连接redis服务器,可能是防火墙的问题,需要开放Redis端口解决办法(以MobaXterm为例)我们需要在MobaXterm窗口中,依次输入下列命令:1.检查系统防火墙工具sudosystemctlstatusfirewalld如......
  • 如何处理云服务器远程桌面访问问题
    问题描述:用户报告无法通过Web界面访问云服务器的远程桌面,怀疑可能是VNC固定端口受到攻击或端口未开放导致的问题。用户希望了解如何解决远程桌面访问失败的问题。解决方案:确认远程桌面连接方式:确保您使用的远程桌面连接工具和协议正确无误。常见的远程桌面工具包括:Windows......
  • 服务器选择固态硬盘(SSD)的原因及相比机械硬盘(HDD)的优势
    在构建和优化服务器时,选择合适的存储介质至关重要。随着技术的进步,越来越多的服务器开始采用固态硬盘(SSD)而非传统的机械硬盘(HDD)。以下是服务器选择固态硬盘的主要原因及其相对于机械硬盘的优势:1.极速性能固态硬盘与机械硬盘之间的性能差异显著。机械硬盘依赖于旋转磁盘和移动磁......
  • 如何有效防护香港服务器免受 CC 攻击?
    在当今互联网环境中,CC攻击(ChallengeCollapsar攻击)是一种常见的应用层DDoS攻击方式,它通过大量看似合法的请求耗尽服务器资源,导致服务器无法正常响应其他用户请求。为了有效防护香港服务器免受CC攻击,需要采取多层次、综合性的防护措施。以下是详细的防护策略:综合防护策略......
  • 网站或数据库服务器是否需要定期重启?
    网站和数据库服务器的稳定运行至关重要。服务器是否需要定期重启是一个常见的疑问,这不仅关系到系统的性能,还涉及到安全性和可靠性。本文将详细探讨这一问题,并提供合理的建议。二、服务器类型与重启需求服务器类型操作系统重启频率原因WindowsWindowsServer2012/20......