Sha*_*din 6 server disk-usage 12.04
我有 Ubuntu 12.04,它在 apache httpd 上为我的 Web 应用程序(20 MB)提供服务。这是我的分区表:
$ sudo parted -l
Disk /dev/sda: 500GB
Partition Table: gpt
Number|Start|End|Size|File System|Name|Flag
1|17.4K|20.0MB|20.0MB|fat16| |boot
2|20.0MB|489GB|489GB|ext4
3|489GB|500GB|10.6GB|linux-swap(v1)
Run Code Online (Sandbox Code Playgroud)
几天前,我将其升级到 12.10。然后将一个文件夹 (30 GB) 复制到 www 文件夹。突然服务器挂起,我收到一条低图形模式消息。我删除了大文件夹并重新启动了计算机,但仍然收到相同的消息No Space Left on Device
$ sudo du -h /var --max-depth=1
4.0K /var/tmp
235M /var/www
444G /var/log
Run Code Online (Sandbox Code Playgroud)
所以,/var/log 是巨大的。
我试过:
$ sudo apt-get autoclean;sudo apt-get autoremove
**Error! No space left on device**
Run Code Online (Sandbox Code Playgroud)
我确实删除了档案日志,但最大的文件没有任何变化/var/log/cups,当我列出它的文件时,我得到:
-rw-r----- 1 root adm 758 DEC 30 07:37 access_log.1.gz
..
**-rw-r----- 1 root adm 444G JAN 5 08:09 error_log**
-rw-r----- 1 root adm 245 DEC 29 13:17 error_log.1.gz
Run Code Online (Sandbox Code Playgroud)
我试过:
$ sudo service cups stop
sudo: unable to write to /var/lib/sudo/username/tty2: No space left on device
Run Code Online (Sandbox Code Playgroud)
当我拔掉电脑然后重新插入它。它工作正常,问题消失了。的/var大小是完全正常的。
我害怕再次面对它。我认为我的主要问题是因为分区。在/home和/root一起,而不是分开。我必须为它创建一个新分区/home吗?任何人都有另一个想法如何避免磁盘再次填满?
正如您自己注意到的那样,您的日志文件夹很大。您可能想要删除一些旧日志。旧日志会定期存档。如果您通过以下方式查看日志文件夹
cd /var/log
ls -lh
Run Code Online (Sandbox Code Playgroud)
你会看到很多以.gz. 这些文件是存档日志。它们之前有一个数字,表示存档的年龄。.1.gz是最新的。如果您确定不再需要旧日志,请删除它们:
sudo rm *.gz
Run Code Online (Sandbox Code Playgroud)
在您这样做之前,您可能想检查一下为什么您的日志如此庞大。看看哪些日志文件和相应的档案是巨大的。如果你发现一些看看他们。什么是日志条目?其中一些非常频繁吗?什么流程/程序/事件负责?你能安全地降低日志级别吗?
编辑
进入error_log. 您应该tail用于显示最后几行,并希望它可以处理这么大的文件。您也可以删除该文件以释放空间,但我们应该找出它为什么那么大。