绫 b
前几天,我尝试在 Nira BOT 的主服务器 RaspberryPi 中添加我一直感兴趣的MongoDB。
这个MongoDB就是所谓的NoSQL数据库,看起来好用。 (感觉很小)
而且我也不想多想,所以决定暂时输入apt。
$ sudo apt update
$ sudo apt install mongo
……嗯晚了。
这绝对是 t((
这就是我在 Windows 终端上盯着 SSH 的原因。
几分钟后,当我按下Ctrl+C 想“让我们退出一会儿”时,由于某种原因,Windows SSH 进程结束了,而不是 RaspberryPi 的 apt 结束。
让我大吃一惊。当我再次尝试连接时,RaspberryPi 就像什么都没发生一样连接。
查看 Discord,Nira BOT 离线。
我的电脑怎么了?
运行各种服务器的 Nira BOT 和 RaspberryPi 由 heartbeat 和 watchdog 监控。
这意味着当树莓派死机停止工作时,硬件看门狗检测到本应从系统发送的heartbeat已经停止,并强制重启系统。
当系统中发生内核崩溃或冻结时,这被称为“Benri”,因为它未经许可重新启动。
然而,这一次适得其反,它在最糟糕的时机重新启动了自己……
你会做修复工作吗?
首先,当我尝试启动BOT时,连接数据库时出错,所以我尝试启动数据库。
. . .
Traceback (most recent call last):
File "<データベースのディレクトリ>/main.py", line 44, in <module>
DATAS = joblib.load(SETTING["location"])
File "/usr/local/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 587, in load
obj = _unpickle(fobj, filename, mmap_mode)
File "/usr/local/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 506, in _unpickle
obj = unpickler.load()
File "/usr/local/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
KeyError: 0
是的? ? ? ? ?
我对这个错误做了很多研究,发现了很多资料,比如不同版本的Python和Joblib,但是没有一个适用...
那里朋友的一句话「パッケージが壊れた(インストール時に一部が依存関係の問題で消された)とか、単純にデータ破損のような気がしてならないのだが…」
我的归来「データ破損だとするとちょっと辛いかもしれない」
它被一个接一个地标记。
可怕地斯特林查看数据文件。
高数据 Zenbufuton demas !!!!!!!!!
这就是为什么看门狗创建了一个 172306 字节的空文件,其内容都是00...
采取措施
那么这次出了什么问题呢?
首先,就是乱放软件。
好吧,它已经过去了。
这次我没有备份。
最新备份是上次重大更新(8 月 15 日)的数据。
事实上,一个月的数据已经消失了。
这就是为什么,经常备份这让我意识到这是非常重要的。
另外,针对此次事件,我们决定在实机上复查数据库操作。
未来,我们计划使用VPS等云数据库。
一种方法是使用云。
然后……嗯……
与其强迫自己创建自己的数据库结构,不如从一开始就使用众所周知的数据库机制! ! !
所以,这是一篇如此离奇的文章。
备份很重要。如果你负担得起,请花每一分钟。
就这样。
我想借此机会为写回数据道歉。
我很抱歉。
不管你说多少“没有这么重要的数据(ᐙ)”,数据就是数据……
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308627042.html