created_date: 2020-12-11T22:12:02+08:00
update_date: 2020-12-27T03:51:51+08:00
comment_url: https://github.com/ferstar/blog/issues/30
我digital ocean的5刀丐版vps上面放了个人公众号的服务,就是些许python脚本拼凑起来的,还是科研狗的时候偷懒搞的东西,不小心维护到现在。
前几日因为数据源站更新,需要更新爬虫策略,开vscode登上去改代码,不小心手贱删掉了工作目录,蛋疼啊,火急火燎关掉vps, 刚关完就有粉丝反馈公众号故障,所以临时挂了个维护的通知,开始苦逼恢复数据。
-
git、备份恢复 - 扑街,因为很多功能调整都是断断续续加的,没有及时的备份,拿到的旧代码相当于没用
-
extundelete大法
这个网上一堆教程,比较有用的一个参数是after
,因为我知道确切的删文档时间点,那么只需要恢复删档时间以后的资料就可以
|
|
- uncompyle6恢复丢失的py代码
extundelete恢复后,悲剧的发现py代码几乎全丢了,但神奇的是__pycache__
居然完整恢复,于是赶紧用uncompyle6
反编译pyc试试
|
|
跑完效果好的出奇,基本上完美还原
-
重启&恢复服务 - 一切正常
-
复盘 - crontab rsync + git code 走起来,可保江山永固
从手欠删工作目录到恢复完成耗时1.5h,能完美恢复的关键是发现问题需要立即把盘离线(避免覆写,神仙难救)
大概就是损失了午休的时间,于是公众号卖惨求红包,果然收到几个热心粉丝老板的红包打赏,开心。。。
刚看到这里说ext4magic
恢复效果要比extundelete
好,mark一下
https://gist.github.com/ebautistabar/cca12863e6335d08a019f015f53fac4a