记一次/tmp目录意外丢失带来的连锁反应以及修复

这个问题大概是是从昨晚我更新程序开始的,昨晚我登录到我服务器的宝塔面板,看到软件商店里面web组件有更新,于是我就顺手把它们都更新了,我启动了三个版本的PHP(7.4、8.0、8.1)的更新,还切换了nginx版本(1.21改1.22),同时还更新了MySQL,这些组件我当初从宝塔安装的时候选的是”编译安装“,所以后续的更新都是由宝塔面板自动排队编译安装的,最开始我没太当回事毕竟我经常更新组件

然后今天凌晨,宝塔发来通知邮件说数据库备份失败,我也没在意,因为那会MySQL正在编译安装中

直到今天下午上课的时候,我在别的服务器上搭建的一个自己魔改过的由PHP写的学习通自动签到程序运行出错,我才发现不对劲

而这个程序的出问题,导致我和另一个依靠这个程序自动签到的我同学,被老师问咋回事然后帮忙代签了。。。。。。

我最开始也没想那么多,以外只是简单的oom,毕竟服务器ram就那么点,就上宝塔面板去启动MySQL,结果开不起来,报错说是/tmp/mysql开头的一个sock文件找不到,我也没想那么多,既然文件没了那就去创建,复制了报错中的完整文件路径去命令行touch它,结果touch命令也报找不到这个文件,然后我用ll命令看了下才知道,是整个/tmp目录都没了,然后我就直接mkdir /tmp,然后再去touch那个文件,之后再去启动MySQL,又收获新的报错,大意是权限问题,上网查找方案,用了宝塔的修复脚本,结果还是报错

仔细看了下报错,说是无法创建或写入/tmp下的一个目录,之后我直接把/tmp目录的权限改成777之后MySQL就能启动了,但没想到事情并没就此结束,到了晚上我在政治课上摸鱼写代码的时候写着写着发现访问PHP文件502了,看了下宝塔,我用的PHP81的状态变成了关闭,还开不起来,也是报/tmp/php-fpm81.sock不存在,touch了一下问题解决,然后我顺手执行了一下yum update更新了一下软件包,随后发现PHP又502了。。。。。。然后tmp目录又不见了。。。。。。离谱的是pma也炸了。。。

此图片由@gaoice 提供

可能是因为我忘记开省电模式的原因,我笔记本没电了,然后我在手机上用现有的条件ssh到服务器上之后创建了tmp目录,之后赋权666,刷新发现pma的状态变成502了

这张图也是@gaoice 提供的

然后我在手机上看了下服务器上别的网站的PHP,发现也跟着502

查看站点错误日志发现是权限不够

几个地方同时报权限不够,怀疑是tmp目录问题,因为想到之前/tmp的权限是777的时候是正常的,现在666就报502,故重新改回777尝试,发现问题解决

评论

  1. Windows Edge 108.0.1462.46
    1 年前
    2022-12-23 18:01:29

    为啥tmp会消失啊

    • 博主
      Styunlen
      Windows Edge 108.0.1462.54
      1 年前
      2022-12-24 23:06:34

      不知道。。。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
酷安
滑稽
贴吧
上一篇
下一篇