写点什么

误删服务器 /tmp 下的文件之后引发的问题

作者:熊斌
  • 2021 年 12 月 11 日
  • 本文字数:899 字

    阅读完需:约 3 分钟

误删服务器/tmp下的文件之后引发的问题

事件起因

收到阿里云的报告说我的服务器中有挖矿程序,隐藏在/tmp 目录下。查看服务器的 CPU 使用情况,也飙升到了 90%以上,于是,我杀掉了一些不相关的进程,顺手执行了rm -rf /tmp命令。后来把自己安装的 gitlab 社区版卸载了,卸载过程中自动停掉了 mysql。紧接着通过宝塔面板,我的showDocmysql全部不好使了。


showDoc不好使是因为它是基于 php7.3 部署的,我删掉了tmp目录下的php-cgi-73.sock文件。mysql不好使是因为我后来手动创建的/tmp目录没有写入权限。

解决方案

  • 先将删除的/tmp 目录创建出来

  • 找到不好使应用的日志,比如我的showDoc是通过 nginx 部署的,那我只用找到错误日志,看是啥原因访问不了。日志中显示2021/12/10 17:37:41 [crit] 15987#0: *9509 connect() to unix:/tmp/php-cgi-73.sock failed (2: No such file or directory) 是说临时目录下找不到`php-cgi-73.sock`文件,那我先将这个文件创建出来,并开放读写权限。再访问时,又是502 Bad Gateway,再看 nginx 的错误日志,提示[error] 22205#0: *1 connect() to unix:/tmp/php-cgi-73.sock failed (111: Connection refused),这种情况是因为文件创建出来了,权限也给了,但是 php 并没有加载到,只用重启 php 服务即可。


mysql 是因为在卸载 gitlab 时被停掉了,通过/etc/init.d/mysqld status命令查看状态,提示MySQL is not running, but lock file (/var/lock/subsys/mysql[FAILED],执行rm /var/lock/subsys/mysql删除 lock 文件;执行/etc/init.d/mysqld start 启动 mysql 服务,又报错Starting MySQL..The server quit without updating PID file ([FAILED]ver/data/iZ8vb53kklhrg4j6sviqtpZ.pid).,找到 mysql 的日志目录(如果不知道日志目录在哪,就去/etc/my.cf文件中查看),日志目录下能看到一个名为iZ8vb53kklhrg4j6sviqtpZ.err的错误日志文件,查看内容,找到最近操作时的日志,就基本上知道啥原因了,我是因为tmp目录没写入权限,开了权限后,执行/etc/init.d/mysqld start启动即可。

总结

  • 删除需谨慎,幸亏这是自己的服务器,如果是公司的服务器,就是一次事故;

  • linux 的知识还有待提高,如果没有足够的知识作为支撑,只是会用,一个错误的操作就会引发灾难性的后果。

发布于: 6 小时前阅读数: 9
用户头像

熊斌

关注

心中有月亮,手中有六便士 2017.12.01 加入

程序员|得到大学6期学员|极客大学算法训练营5期学员|宅男 公众号:大熊出没

评论

发布
暂无评论
误删服务器/tmp下的文件之后引发的问题