2018-7-31 记录一次"CC 速成班"服务器挂掉然后恢复的流水账

(学习价值不大,慎点)

预先声明

这个有点流水账,不是教程,学习价值不大,当故事看看就行了。
不想浪费读者的时间所以预先说一下。

前言

CC 速成班 这个 App 是我写的。React Native 0.46 + Ruby on Rails 5

什么问题?

今天 2018-7-31 打开 CC 速成班 (这是个安卓 App,开源) 发现白屏。
(白屏说明 API 没有返回数据)

解决过程

本以为是 rails server 莫名挂了。
想着说用 ssh 上去服务器再跑一下 bundle exec puma -C config/production-puma.rb 应该就好了。

ssh 连上服务器一看是 MySQL 挂掉了,死活无法再启动起来。
df -h --total 命令一看是 20G 的硬盘占了100%,硬盘塞满了。

用 ncdu 在 / 目录下面跑,看看是什么东西占了空间。
结果发现 Ruby on Rails 的 production.log 有2个。一个占了300M一个占了4G。
(yuzhu.me 和 CC 速成班跑在同一个服务器上所以有2个 log)
都 rm production.log 删掉了。

然后看到 /var/log 下面一个 btmp.8 btmp.7 等名字的几个文件各自占几百M。
谷歌一查。应该有人在暴力破解服务器密码,所以这些错误尝试的日志占越来越多空间。
既然这些文件不重要,所以我就放心全删了。
最后 service mysql start 把 MySQL 启动起来。
试着 mysql -u root -p 尝试登陆进去,成功了。

一切恢复正常。App 打开可以正常显示了。
这事情对我来说还蛮有趣的,第一次碰到这样的事,顺带写一下。