服务器日志正在填满我的硬盘,我该如何解决这个问题?

我有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创建一个新分区? 任何人都有另一个想法如何避免磁盘再次填满?

正如您自己注意到的那样,您的日志文件夹很大。 您可能想要删除一些旧日志。 旧日志定期存档。 如果你查看你的日志文件夹

 cd /var/log ls -lh 

你会看到很多以.gz结尾的文件。 这些文件是存档日志。 他们之前有一个数字,表明存档的年龄。 .1.gz是最新的。 如果您确定不再需要旧日志,请将其删除:

 sudo rm *.gz 

在您这样做之前,您可能想要检查为什么您的日志非常庞大。 看看哪些日志文件和相应的档案是巨大的。 如果你发现一些它们。 什么是日志条目? 其中一些是非常频繁的吗? 什么过程/程序/事件负责? 你可以安全地降低日志级别吗?

编辑

查看error_log 。 您应该使用tail来显示最后几行,并希望它可以处理如此庞大的文件。 您也可以删除该文件以释放空间,但我们应该找出它为什么那么大。