服务器日志正在填满我的硬盘,我该如何解决这个问题?
我有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
来显示最后几行,并希望它可以处理如此庞大的文件。 您也可以删除该文件以释放空间,但我们应该找出它为什么那么大。