事件描述:
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天前的文件并删除用
本文转自cix123 51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1878566,如需转载请自行联系原作者