服务器已满的 Linux Debian 主分区 (/),如何为其腾出空间

Kun*_*hal 1 linux partition debian

如何安全地释放根文件系统上的一些空间?

df 说:

Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              9.7G  9.2G     0 100% /
tmpfs                 3.9G     0  3.9G   0% /lib/init/rw
udev                   10M  244K  9.8M   3% /dev
tmpfs                 3.9G  620K  3.9G   1% /dev/shm
/dev/md3              1.8T  327G  1.4T  19% /home
Run Code Online (Sandbox Code Playgroud)

================================================== ====================

du 给我:

root@sbs691:/# ls | xargs du -hs
5.8M    bin
13M     boot
244K    dev
8.0K    dotdeb.gpg
8.1M    etc
281G    home
17M     lib
3.7M    lib32
0       lib64
16K     lost+found
8.0K    media
4.0K    mnt
157M    opt
du: cannot access `proc/31735/task/31735/fd/4': No such file or directory
du: cannot access `proc/31735/task/31735/fdinfo/4': No such file or directory
du: cannot access `proc/31735/fd/4': No such file or directory
du: cannot access `proc/31735/fdinfo/4': No such file or directory
0       proc
41M     root
4.0K    run
14M     sbin
4.0K    selinux
4.0K    srv
0       sys
129M    tmp
2.2G    usr
431M    var
Run Code Online (Sandbox Code Playgroud)

================================================== ===

第一个评论后更新du/var

root@sbs691:/var# ls | xargs du -hs
4.8M    backups
149M    cache
4.0K    games
265M    lib
4.0K    local
12K     lock
14M     log
4.0K    mail
4.0K    opt
200K    run
24K     spool
4.0K    tmp
16K     www
Run Code Online (Sandbox Code Playgroud)

问题现已通过重新启动 nginx 暂时解决

service nginx restart
Run Code Online (Sandbox Code Playgroud)

重启后

root@sbs691:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              9.7G  6.0G  3.3G  65% /
tmpfs                 3.9G     0  3.9G   0% /lib/init/rw
udev                   10M  244K  9.8M   3% /dev
tmpfs                 3.9G  620K  3.9G   1% /dev/shm
/dev/md3              1.8T  339G  1.4T  20% /home
Run Code Online (Sandbox Code Playgroud)

use*_*517 7

您可能有一个已被删除的文件,但正在写入该文件的守护进程(通过 fd)将其保持打开状态。看一下输出

lsof +L1
Run Code Online (Sandbox Code Playgroud)

这将列出此类文件。当您知道该文件时,您只需要找出哪个守护程序,然后告诉它重新启动或重新打开它的日志文件。


根据评论:原来 OP 删除了 /var 中的文件,并且没有重新启动写入文件的守护进程(特别是 nginx)。