zoukankan      html  css  js  c++  java
  • 【教训】为什么不作备份?!

    一个悲剧

    最近在开发一个部门内部的项目,用户都是同事。由于系统只在内部使用,所以开发过程中流程不太规范。

    项目刚开始时,由于运营服务器还没有申请到,所以开发服务器和运营服务器在同一台机器上,通过配置Virtual Host

    和不同的数据库空间来区分两个环境。

    几个月来,一直没有问题。最近,运营服务器和域名申请完毕,但是由于现在的模式并没有多大不妥,而且最近需求催

    得比较紧,所以就没有将运营环境与开发环境分离。数据备份也不频繁,最近一次数据备份是2个月前的。

    昨天,悲剧发生了 … 有位同事误操作,将一个比较靠近根目录的目录删除了!项目的开发环境,运营环境,运营数据全部都在这个目录下。

    结果很严重

    1. 开发,运营环境必须重新搭建,估计至少需要花费2人天完成;
    2. 运营数据全部丢失,无法挽回,严重的伤害了系统的用户感情 悲伤

    事情竟然已经发生了,抱怨也没有用,而且这种事情也无法避免,误操作这种事情,你我都有可能犯,“rm”一个密令就行了。所以,心态要好点。这类事情也是项目开发中的风险,需要考虑在内。

    经验总结

    1. 开发环境与运营环境物理分离。最好不要在同一台机器上,如果实在没有办法,也不要在同一个目录或盘符下。这样即使上述类似事情发生,也不会导致两个环境同时丢失,一定程度上的规避了风险。需求再紧,也要分离环境, 不要以“需求紧”作为接口,“需求”永远做不完。
    2. 运营数据需要频繁备份。这次事故丢失了几个月积累的运营数据,而且昨天早上刚将新特性发布,用户刚刚输入了一些新的运营数据,但是顷刻间全部丢失,真不知道如何向他们交代。极大的伤害了用户的感情,本人表示很内疚。吃一堑,长一智。以后开发项目时,一定要频繁备份数据。

    备份策略

    经过这次教训后,目前采取了如下策略备份数据:

    1. 工作时间(9点~22点),每小时备份一次,文件按备份时间点的格式归档
    2. 将数据库dump文件远程发送到特定的数据备份服务器
    3. 定期删除多余文件,保留最近一个月的数据  
  • 相关阅读:
    Hibernate 基本写法
    JavaWeb中的中文乱码问题
    AJAXJson
    Hibernate 的几个概念
    sql 中的备份集、备份设备、媒体、媒体集
    收缩数据库日志文件
    AJAXjs
    rand一定要加srand随机数种子
    CheckBit,SetBit设置二进制位的方法使用
    memset(buf,0,100)和memset(buf,'\0',100)有什么区别?
  • 原文地址:https://www.cnblogs.com/bourneli/p/2586967.html
Copyright © 2011-2022 走看看