您的位置:首页 > 运维架构

一次Windows数据丢失后的亡羊补牢

2016-12-01 16:44 197 查看
事件描述:
2016.11.14一早,禅道(bug管理系统)启动不了了。经过一天各种折腾都不能正常启动服务,找到数据库目录和备份目录,都是空的。这是服务器在祝我31岁生日快乐吗,不带这么玩的。
下图为正常状态

下图为启动失败状态

自身存在的问题:

由于一直没把禅道放在心上,服务器的备份策略从来没有检查过。更没做过“灾难恢复”的测试。以至于出了问题后才想着去了解这个系统,看官方文档,找数据库目录等。
到现在为止也不知道系统是为什么挂的,挂的同时,数据库文件一点影也没了。只能让测试重新录bug了,非常对不起。
事件总结:
在工作中要做到所有的数据都有备份策略,而且最好有异地或非本服务器备份。还要用备份的数据做下还原测试,测试是否能正确的使用。有了这次教训,再重新安装禅道后,开启了自带的备份策略,为了防止单点故障,把备份的数据库文件夹,每天晚上再备份到“文件服务器”一份,禅道本地和文件服务器的数据库保留策略设置为3天。

重新安装,开启禅道的备份策略



禅道已经定义好了备份策略,每晚12:30都会备份数据到指定文件夹



默认保留为14天,此处改为3天(后来才发现备份保留天数可以改






说明:
禅道产品做得相当成熟,可以自定义数据库备份保留的天数,真是非常方便。要做的就是把禅道备份出来的数据在异地备份一份。

异地备份数据
在禅道备份的基础上,我们只需要把backup文件夹备份到局域网中的另一台服务器即可,下面是用Windows的copy和robocopy实现备份到异地,foriles可以实现删除3天前的文件,在这里不需要使用这条。把命令复制到*.bat,然后添加到计划任务里,每天晚上2点执行。
简单的 使用这条就可以实现,不用管下面二条
copy C:\pmtool\xampp\zentao\tmp\backup \\技术部共享\禅道back
详细点的
robocopy C:\pmtool\xampp\zentao\tmp\backup Z:\技术部共享\禅道back *.* /maxage:3 /xf *.jpg
说明:maxage:3指定了天数,之前没注意禅道可以直接设置要备份的天数 /xf表示除了jpg的文件(很多余) 额外学习用
forfiles /p D:\技术部共享\禅道back /s /m *.php /d -3 /c "cmd /c del @path"
说明:这个也是多余的,禅道设置只保存3天的数据,不会多产生文件。这个命令可用于普通服务器查找3天前的文件并删除用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息