我有 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)
几天前我将其升级到 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
因此,/var/log 非常大。
我试过:
$ sudo apt-get autoclean;sudo apt-get autoremove
**Error! No space left on device**
我确实删除了档案日志,但没有任何变化,最大的文件是/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
我试过:
$ sudo service cups stop
sudo: unable to write to /var/lib/sudo/username/tty2: No space left on device
当我拔掉电脑电源然后重新插上时,它工作正常,问题消失。尺寸/var
完全正常。
我害怕再次面对它。我认为我的主要问题在于分区。/home
和/root
在一起而不是分开。我必须为 创建一个新分区吗/home
?有人有其他想法如何避免磁盘再次填满吗?
答案1
正如您自己注意到的,您的日志文件夹非常大。您可能想要删除一些旧日志。旧日志会定期归档。如果您通过以下方式查看日志文件夹:
cd /var/log
ls -lh
您将看到很多以 结尾的文件.gz
。这些文件是存档日志。它们前面有一个数字,表示存档有多旧。.1.gz
是最新的。如果您确定不再需要旧日志,请删除它们:
sudo rm *.gz
在这样做之前,您可能需要检查日志为何如此巨大。查看哪些日志文件和相应的存档很大。如果发现一些,请仔细查看。日志条目是什么?其中一些是否非常频繁?哪个进程/程序/事件导致了此问题?您可以安全地降低日志级别吗?
编辑
查看error_log
。您应该使用tail
显示最后几行,并希望它可以处理如此大的文件。您也可以删除该文件以释放空间,但我们应该找出它为什么这么大。