前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >主机出现dev/sda3 磁盘使用100%,导致myql无法运行

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

原创
作者头像
Power
发布2023-05-31 10:10:20
发布2023-05-31 10:10:20
1.6K0
举报
文章被收录于专栏:源码库源码库

   今天鸟云主机有个兄弟说是莫名其妙数据库没了,回去后查看了已经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=""

---

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档