我是debian8系统 磁盘空间120G只剩5G ,查找“计算机”目录下,最后发现/var/log目录下有messages/syslog/syslog三个文件,共占93G,这三个文件是工程日志,还有就是某天突然打开电脑登陆进去是黑屏或者登陆后又跳到登陆界面,进入命令行模式(按Ctrl+Alt+F1)提示“No Space in your computer”,这个情况下我们只能通过命令行进行操作了。
可通过以下指令将文件的内容置空。
-
debian@xxxxxx:$ su -
-
root@xxxxxx:~# >/var/log/messages
-
root@xxxxxx:~# >/var/log/syslog
-
root@xxxxxx:~# >/var/log/user.log
或者直接删除也可:
-
xxxxxx@xxxxxx:$ cd /var/log
-
xxxxxx@xxxxxx:$ ls
-
xxxxxx@xxxxxx:$ sudo rm -f user.log syslog messages
为保证日志以后不再变这么大,可通过logrorate限制日志文件大小。
logrorate思路是:logrorate对日志文件做转存,就是把现在的log命名为log.1,然后继续写log,如果有log1了,那么log.1就命名log.2,可通过设置将log.n删除的。
我这里爆出来的问题是在一周之内的文件不知为什么突然很大,所以我要限制单个log的大小
配置文件分别是/etc/logrotate.conf和/etc/logrotate.d,其中/etc/logrotate.conf是主配置文件,/etc/logrortate.d中的文件会被/etc/logrotate.conf读取。
1.修改/etc/logrotate.conf,打开终端,运行
sudo gedit /etc/logrotate.conf或者sudo nano /etc/logrotate.conf
增加一行,即sizem 1024
(sizem的意思是超过1024MB的话就转储到新的文件中,size是缺省,单位是bites,siezk的单位是KB)
2.修改/etc/logrotate.d/rsyslog,同上,打开终端,运行
sudo gedit /etc/logrotate.d/rsyslog或者sudo nano /etc/logrotate.d/rsyslog
然后在syslog,user.log,messages下都加上以下的语句,一般默认状态下user.log没有这些语句,messages中的weekly需要换成daily
-
{
-
rotate 4
-
daily
-
missingok
-
notifempty
-
delaycompress
-
compress
-
postrotate
-
invoke-rc.d rsyslog rotate > /dev/null
-
endscript
-
}