阿里云磁盘异常爆满的原因及解决方法

  • Post author:
  • Post category:其他


阿里云磁盘提示使用率为100%,提示网站打不开,原因则无一例外都是磁盘爆满,导致mysql停止工作,删除部分文件后,网站恢复访问,不过过不多久,网站又再次因为磁盘爆满而打不开,在服务器上找了一圈的原因,终于发现了几个特别大的文件(linux查询文件夹体积的命令是:du -h):


百度后得知,这些文件都是数据的操作日志文件,登陆mysql后清理掉就可以了

mysql登陆命令(注:前面的路径可能会有所不同):

/usr/local/mysql/bin/mysql -u root -p

清理命令:reset master;(注意后面的分号也要带好)

清理完后,磁盘剩余空间顿时增大了不少,如果想要关闭数据库操作日志的朋友,可以接着往下看:

如果你只有一个mysql服务器,在/etc/ 下面找到my.cnf文件vim /etc/my.cnf把里面的:

1
2
#log-bin=mysql-bin 
#binlog_format=mixed

这两行注释掉(在前面加#即可),然后重启mysql服务可以了(重启mysql命令,可以用:service mysqld restart)。

但是如果你设置了主从服务器,那么就需要做以下操作了。

A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。

C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。

D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。 简单地说,这些MySQL目录下的形如mysql-bin.000***的文件时MySQL的事务日志。 删除复制服务器已经拿走的binlog是安全的,一般来说网络状况好的时候,保留最新的那一个足以。

==============================



阿里云系统盘满了?

一条命令解决阿里云服务器系统盘空间不足问题。

您是否遇到过这种情况,数据盘空间富足,


系统盘无缘无故感觉就满了?


一直在找问题?由此导致的本机


mysql无法启动?

等一系列坑爹的问题!dh -h,我们看看磁盘使用情况


23 阿里云系统盘满了?一条命令解决阿里云服务器系统盘空间不足问题

尼玛,吃了那么多。。难怪刚才mysql无缘无故写不进去,


重启系统之后导致mysql服务启动!

ok,我们来解决这个问题,输入命令:

[php]

tmpwatch -afv 5 /tmp

[/php]


12 阿里云系统盘满了?一条命令解决阿里云服务器系统盘空间不足问题

会看到一系列删除动作,删除了日志文件这些垃圾占用空间。ok,继续查看


6 阿里云系统盘满了?一条命令解决阿里云服务器系统盘空间不足问题

现在正常了。


什么是tmpwatch命令?

tmpwatch  –  removes  files  which haven’t been accessed for a period of time

如上所言,删除指定的目录中一段时间未访问的文件。一般对于/tmp下的文件或日志文件。


参数

-a或–all  删除任何类型的文件。

-m或–mtime   根据文件被更改时间

-c或–ctime     根据文件更改状态时间

-M或–dirtime  根据文件夹被更改时间

-f或–force  强制删除文件或目录,其效果类似rm指令的”-f”参数。

-l  不删除符号链接

-U或–exclude-user=用户名或uid  排除某用户的文件

-x 或–exclude=path 排除某路径

-X 或–exclude-pattern=pattern 排除某规则下的路径

-q或–quiet  不显示指令执行过程。

-v或–verbose  详细显示指令执行过程。

-test  仅作测试,并不真的删除文件或目录。

另外对于运维人员我要强调一下-d或–nodirs选项, 某些运维人员可能在日志文件夹中创建了子目录,默认子目录也会被删除的,使用-d参数可以避免。