WenRou's Blog

新浪微薄腾讯微薄

最新碎语:测试图片碎语哦

您的位置:WenRou's Blog >工作> 主机出现dev/sda3 磁盘使用100%,导致myql无法运行

主机出现dev/sda3 磁盘使用100%,导致myql无法运行

     今天鸟云主机有个兄弟说是莫名其妙数据库没了,回去后查看了已经100多天没有重启了,重启了但是那兄弟依旧说没法弄,后台面板也是报错,提示空间不足.
通过排查找到较大文件的目录,方法:
# df -lh  或者 df -hal

一看 dev/sda3 满了。

于是先切换到根目录

cd ..  (注意cd后面一个空格然后两个点号,再回车)

# du –sh * 再一级一级目录查下去,发现有两个地方占用空间比较大。


我的结果展示如下:

8.6G    backup
6.0M    bin
107M    boot
4.0K    cgroup
176K    dev
29M     etc
21G     home
404M    lib
22M     lib64
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    opt
463M    root
8.0K    run
16M     sbin
4.0K    selinux
4.0K    srv
0       sys
624M    tmp
1.6G    usr
22G     var
1.6G    vhs


大家发现了吗?backup是我的备份目录,占用特别大。可以清理掉一些远古的备份文件。

var 里面不知道是什么,可以进去看看


# du -sh /var/* | sort -rn   这是按兆(M)来排序


结果如下:

145M    /var/cache
112K    /var/run
53M     /var/lib
49M     /var/spool
21G     /var/log
16K     /var/lock
8.0K    /var/empty
8.0K    /var/db
4.0K    /var/yp
4.0K    /var/tmp
4.0K    /var/preserve
4.0K    /var/opt
4.0K    /var/nis
4.0K    /var/local
4.0K    /var/games
1.2M    /var/www
0       /var/mail

发现是日志文件占用比较大,进去看看是什么日志

# du -sh /var/log/* | sort -rn 

发现:


24K     /var/log/dmesg.old
24K     /var/log/dmesg
24K     /var/log/anaconda.log
21G     /var/log/mysqld.log
16K     /var/log/secure-20201115
16K     /var/log/cloud-init-output.log
16K     /var/log/btmp


数据库日志占用比较大,如何清理呢?肯定不能直接删除。

先来到该日志目录

# cd /var/log

在该目录下执行

cat /dev/null > mysqld.log

然后再次

# du -sh * | sort -rn

然后发现mysqld.log被清理了

为何不用 du -sh /var/log/* | sort -rn  呢?因为先已经切换到已经在log目录下了



下面是另外一次发现的邮箱爆满问题,夜记录一下

第一个是个日志文件,先查到那个日志文件,在该目录下执行

# cat /dev/null > file.log
注意file.log是你需要清空的日志。
第二个发现是个邮件目录,来到/etc/postfix/目录,执行
# rm -rf incoming/* 本意是要删除/etc/postfix/incoming下面的所有文件的,结果
执行后出现"/bin/rm: Argument list too long"报错,应该是目录中的文件太多、处理时间太长导致的。
于是又来到incoming目录下执行
# ls | xargs -n 10 rm -rf
通过xargs命令,将文件10个分成一组,然后分批删除,这样就不会出现错误了。
备注1:我们执行上面命令的时候,一定要谨慎,要在当前需要删除文件的目录下执行,不要在其他目录中操作,要不你会删除其他目录文件的。

备注1:rm -rf 是无条件删除且不可恢复,要慎用!!


解决邮箱爆满

cd /var/spool/postfix/maildrop/

1   >/dev/null 2>&2

2   cd /var/spool/postfix/maildrop; ls | xargs rm -rf; 

    cd /var/spool/postfix/incoming; ls | xargs rm -rf;

3   vi /etc/crontab ;将‘MAILTO=root’替换成‘MAILTO="",然后service crond restart即可。如不行crontab -e 第一行增加MAILTO=""


---

转载请注明本文标题和链接:《主机出现dev/sda3 磁盘使用100%,导致myql无法运行

分享到:

发表评论

38 + 8 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交