谨以此文祭奠我的前博客

当我在云服务器控制台重装了 CentOS,部署完崭新的博客系统,在网站首页再次写下“积跬步以至千里,积小流以成江海”这句话时,我知道我兢兢业业积累了六个多月,近百篇涉猎甚广的博客已经一去不返了。

写博客不是一件轻松的事,初衷本是积累记录以便以后查阅。但又怕有需要的访客看到时由于内容太过笼统而不明所以,所以我力求把每篇博客写的清晰且正确。每一句话都斟酌是否准确,求证是否正确,并标注权威引用链接。语言难以描述清楚的内容便自己 PS 作图,或者附上可访问展示的 Demo。可以说是颇费苦心了。

创造一个美好东西的过程通常是复杂和困难的,但毁灭它往往要简单得多。有时只不过就是一句 rm -rf ,整个过程不会超过两秒,很安静。

反思

我从来不害怕犯错,我只怕重复犯错。所以关于这次 rm -rf 误删系统关键文件导致博客丢失,我很快进行了反思,并在新部署的博客系统上进行了改进。总结如下:

系统多用户管理

root 用户的权利太大了,使用 root 用户操作 Linux 系统无疑是一件刀尖舔血的艺术行为。做得好是艺高胆大,做不好便万劫不复。

应对不同的功能开设不同的用户。比如为服务器的网站管理开设专门的用户,分配其有限的权限。使其无法威胁到系统本身的正常运行。

数据库多用户管理

同理,数据库也应开设不同用户,限制其危险操作的权限。

开启回收站功能

CentOS 默认是没有回收站功能的,一旦 rm -rf 命令操作成功,想要找回数据往往不是一件简单的事,尤其是当服务器还在进行高频的数据 IO。

所以我们应该自己实现一个回收站的功能,其实很简单,即重写系统的 rm 命令为 mv 命令。将想要删除的文件转移到指定目录,并定期清理即可。关于具体的实现过程,我会尽快整理发布。

更改 Web 服务器默认路径

以 Apache 为例,默认网站更目录是在 /var/ 下。这是这次误删事件的直接原因,我本想删除某子目录下的 var 目录,结果手抖多打了 / 就把 /var/ 目录全删了,数据库文件也在里面。

所以如果 Web 服务器的网站更目录在系统关键目录下,应该将他转到网站管理员用户目录下。降低误操作带来的风险。

数据备份

其实在这次误删系统文件前我有备份过博客数据,不过时间比较久了,但仍能找回部分博客内容。可见有一个定期备份数据的好习惯是多么重要。