清理 VPS 存储空间

问题

最近在虚拟机上存储文件时发现预留的10G虚拟磁盘竟然占满了,于是来清理一下空间。

步骤

  1. 查看磁盘占用情况
sudo df -h

image

可以发现/dev/sda1空间已经使用7.4G,这是清理后的容量。

/dev/sda1 是 Linux 中的一个块设备文件,通常用于表示硬盘分区。在 Linux 中,硬盘通常被表示为 /dev/sd* 的形式,其中 * 表示一个小写字母,例如 /dev/sda/dev/sdb 等。

当一个硬盘被分成多个分区时,每个分区都会被分配一个设备文件,用于表示分区。其中,/dev/sda1 表示第一个分区,/dev/sda2 表示第二个分区,以此类推。

  1. 查看硬盘中大文件
sudo du -ah . | sort -rh | head -n 10

du 命令可以查看指定目录或文件的磁盘使用情况,包括文件大小和目录大小等。可以使用 -h 选项以人类可读的方式显示文件大小。例如,以下命令将在当前目录中查找并列出所有文件和目录的大小,并按照大小排序:

在这个命令中,-a 表示列出所有文件和目录的大小,-h 表示以人类可读的方式显示文件大小,. 表示当前目录,可以改为你想查询的目录名,sort -rh 表示按照大小逆序排序,head -n 10 表示只显示前 10 条结果。

image

  1. 分别使用命令清理大文件

发现/usr占用较多,但是经过清理之后发现容量几乎没有变化,可以考虑跳过。同时目录包含了大量的用户安装的程序、库文件和其他资源,因此清理该目录需要谨慎操作,以免意外删除了重要文件,导致系统出现问题。接下来讲解命令的使用。

  • 删除不需要的语言文件:
sudo apt autoclean
  • 删除所有不再需要的包:
sudo apt autoremove --purge
  • 删除不再需要的依赖项和配置文件:
sudo apt clean

接下来清理/var

varvariable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

. /lib/docker/overlay2 目录是 Docker 存储驱动程序中的一个重要目录,用于存储 Docker 镜像和容器的文件系统层。在使用 Docker 时,该目录的大小可能会逐渐增加,占用大量磁盘空间。删除不需要的 Docker 镜像和容器,或者使用 Docker 的清理命令来清理无用的数据。以下是一些常用的 Docker 清理命令示例:

  • 列出所有已停止的容器:
sudo docker ps -a -q -f status=exited
  • 删除所有已停止的容器:
sudo docker rm $(sudo docker ps -a -q -f status=exited)
  • 列出所有未被使用的镜像:
sudo docker images -q -f dangling=true
  • 删除所有未被使用的镜像:
sudo docker rmi $(sudo docker images -q -f dangling=true)
  • 清理所有未被使用的数据:
sudo docker system prune -a --volumes

请注意,在清理 Docker 数据时,最好备份一下需要保留的 Docker 镜像和容器,以防误删重要数据。

使用 logrotate 工具来自动轮换和删除旧日志文件。logrotate 工具可以配置为按时间、大小或其他条件来轮换和删除日志文件,以保持日志文件的大小和数量在可控范围内。

  • 删除一个大文件,可以使用以下命令:
sudo truncate -s 0 /var/log/your_large_file.log
  • 此命令将把 /var/log/your_large_file.log 文件的大小截断为零,即清空该文件。然后运行 logrotate 命令来轮换和归档旧日志文件:
sudo logrotate -f /etc/logrotate.conf

-f 参数将强制 logrotate 立即执行轮换操作,即使当前不需要轮换文件。/etc/logrotate.conflogrotate 的默认配置文件路径,可以根据需要使用不同的配置文件路径。

请注意,在使用 truncate 命令时,最好备份一下将要清空的文件,以防万一需要恢复文件内容。

使用 journalctl 工具来清理旧的日志消息和数据。journalctl 工具可以按时间、优先级、来源和关键词等过滤日志消息,以及限制日志消息的数量和时间范围。以下是一些常用的 journalctl 命令示例:

  • 显示最近的 100 条系统日志信息:
sudo journalctl -n 100
  • 显示某个服务的日志信息:
sudo journalctl -u your_service_name
  • 显示某个时间范围内的日志信息:
sudo journalctl--since"2022-01-01 00:00:00"--until"2022-02-01 00:00:00"
  • 显示某个进程的日志信息:
sudo journalctl _PID=your_process_id

清理旧的日志消息和数据,可以使用以下命令:

sudo journalctl --vacuum-size=100M

该命令将清理所有不再需要的日志消息和数据,并将日志文件大小限制为 100M。您可以根据需要调整 --vacuum-size 参数的值。请注意,此命令仅清理系统日志。

总结

经过如上操作就可以为你的VPS或者虚拟机清理出一些空间了

参考文献

Linux系统目录结构

上一篇
摸个大鱼
大家好,因为最近办公室领导住院,我有机会摸一个大鱼,然后就发现了这个好地方,希望能摸得开心。
下一篇
【整点没用的】像素动画探索
游戏和动漫确实占据了我大部分的青春,对于我这样不善言辞的社交败类,游戏和动漫是低门槛的娱乐方式。我最早有印象的动画就是宫崎骏的《猫的报恩》,真的当时那个环境下,这样的画质是真的令人印象深刻。所以说长大后更喜欢猫是有原因的;我喜欢美丽好看的图像,理想来说我应该去画画的,但初中上画画课的时候,看着自己的 ....
时间排序
新人报道道道道道道道道道道 嗨嗨嗨,原来新手到成员需要发这样的贴子 整点有用的 - linux 的划词翻译 vue3 【整点没用的】像素动画探索 清理 VPS 存储空间 摸个大鱼 【MC】大型生存服 - 鱼皮之家♂船新版本 牛子大的来解释 HelloWorld 问题噜! 毒品、色情、暴力、人口贩卖?暗网真的那么可怕吗? 前端 js 骚操作之 Hello World
上一篇
Win11 自动更新安装旧版本 AMD 驱动, 导致 AMD 显卡驱动出现问题
[图片] 问题 最近组装了一台主机放在家里当服务器并安装了Win1系统,几度发现电脑自动关机,经检查发现是AMD显卡驱动不兼容导致的,经过搜索发现了解决方案。 原因 这是由于 Windows 11 自动更新安装了旧版本的 AMD 显卡驱动,导致与当前的 AMD 软件不兼容。 AMD 公司已经在其官网 ....
下一篇
网站安全防护
[图片] 环境 系统:Debian11 bullseye 问题 最近使用typcecho搭建了一个恋爱网站,本来网站还没有对外开放,突然收到来自IP泄露的站内评论,决定是时候对网站进行安全防护措施了。 思路 SSH远程访问我们的VPS主机需要IP地址,端口号,用户名,密码,黑客想要入侵我们的VPS也 ....
当前作者
Cloudflare CDN 开放端口 设置网站通用头像 Linux 配置静态 IP 摸鱼人报道 1 网站安全防护 清理 VPS 存储空间 Win11 自动更新安装旧版本 AMD 驱动, 导致 AMD 显卡驱动出现问题 宝塔开启 SSL 之后无法访问
上一篇
前端基础之 js 加法隐式转换
先做个小测试,不要百度和写代码测试 下面的输出都是什么 1 + 1 '1' + 1 1 + true NaN + 1 NaN + '1' null + 1 null + '1' [1] + 1 [1,2] + [1] [1] + {n : 1} 如果说你对上面这些运算有一些模糊不清的地方,那么估计你 ....
下一篇
偶然
闲来一游 一次偶然的转身 一个偶然的抬头 一朵偶然的云 撞入一道偶然的眼神 一道道光被偶然的阻滞 偶然的我 将这幅偶然得来的画境 装入镜头中
热门排序
宝子们!领游戏拉!7.26-8.1 以色列,一个芯片强国如何拔地而起 偶然看到了 7 年前的 QQ 聊天记录(二) 【流程中心】开贴 前端基础之 js 加法隐式转换 清理 VPS 存储空间 偶然 心烦随笔... 新人 x-23 报道 摸鱼周报 20230714 Epic 喜加一《Train Valley 2》【2023/7/20 有效】