为什么要备份数据?我经历的数据灾难

server/2024/9/23 14:50:36/

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


        (注:这个故事发生在2023年后半年)

        今天早上电脑故障了,充不上电,只好背上去售后服务点(不好意思,我是程序员,不是修电脑的,真不会!)。售后的技术人员检查了之后说要返厂维修,要好几天时间,问我还有重要数据吗?我说没了,随便弄,他就让我从网站上把设备绑定去掉了。

        就是这么个事,不是天天发生,但是确实时有发生。发生了之后怎么办?硬件问题拿去维修是肯定的,我这次故障的应该不是存储,但是拿回去维修数据也没法用。如果不是有备份,就得让维修人员先把机子拆了,把数据弄出来,1T的盘,导一下数据也不是一会就能搞定的。

        所以说呢,未雨绸缪,始终使用云盘保存数据是没错的。

        列举一下我遇到的一些数据灾难:

  • win95时代,死机了,按电源关机,然后系统进不去了,拆硬盘检测,找到大量丢失的目录和文件。虽然说不能强行关机是个基本原则,但是死机了没办法啊。虽然死机很常见,那个时代从不备份数据的人也是大把的。
  • 1.44英寸软盘,在一台电脑能读出来,另外一台读不出来。这种情形也是很常见的,万一发生了就是换台机子读呗,实在不行回去换个盘重新拷一份,谨慎一点的人出差会复制两份,避免发生软盘故障。
  • CD光盘,第一天能读,第二天,读不出来了……发生过不止一次。主要是发生在盗版光盘上,而且是主要发生在VCD光盘上。VCD嘛,视频光盘,读不出来就是花屏呗,问题不大,超强解码。别的就不行了,读不出来就没法用。
  • 我从北方到南方来的时候,带了一个大机械硬盘,后来坏了,损失了很多“你懂的”。挺可惜的。
  • 有一个傻子来找我,说他电脑坏了,所有数据都没有了,问我有没有之前的一个项目的东西。带项目的人不知道备份数据的……而且都入了库的,你是项目经理你来找我要?

        因为有很多惨痛教训,所以我现在遵循如下原则:

  • 重要数据全部在云存储(我用的是OneDrive),不仅包括自己写的文件,也包括所有软件的安装包,以及设置方法
  • 云存储保持两个本地完整版本(一般就是公司一个家里一个,这样我就不用背着电脑上下班)
  • 正在开发的代码和编写的文件全部入版本库,版本库放在云存储
  • 云存储的本地版本放在移动硬盘而不是电脑的内置存储(需要重新设置OneDrive)

        做到以上几项就相当于版本管理、备份、容灾全做了,没有单点故障,电脑坏了拔下移动硬盘就能拿去送修了,这边换个电脑接上移动硬盘就可以继续工作。

        等等……送修这件事,陈老师遭遇的情况怎么防范?

        虽然主要数据都在移动硬盘上,操作系统盘里面也难免有敏感信息,所以一定要开启BitLocker,对所有盘加密,操作系统盘的恢复密钥建议保存在微软账号(操作系统分区不使用密码解锁,而是使用TPM芯片),而其它数据分区,包括移动硬盘,建议直接使用密码解锁(内部存储设备上的数据分区也建议使用密码解锁,牢记密码,这样可以不使用恢复密钥)。

        还有CD、DVD容易坏怎么解决?我策略是拿到手不管是什么先用工具软件制作成ISO镜像文件,然后想怎么用怎么用(其实现在电脑上都不配光驱了,好多年没碰过光盘了,不久前为了保存一点儿童视频又专门买了一个外置光驱——不是你懂的,叔是正派人,视频app的动画片说不见不就不见了,麻烦,所以买了光盘保存)。


(这里是结束)


http://www.ppmy.cn/server/34019.html

相关文章

13、Flink 的 Operator State 详解

1.算子状态 (Operator State) 算子状态(或者非 keyed 状态)是绑定到一个并行算子实例的状态,Kafka consumer 每个并行实例维护了 topic partitions 和偏移量的 map 作为它的算子状态。 当并行度改变的时候,算子状态支持将状态重…

基于Springboot的校园疫情防控系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园疫情防控系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

Docker使用进阶篇

文章目录 1 前言2 使用Docker安装常用镜像示例2.1 Docker安装RabbitMQ2.2 Docker安装Nacos2.3 Docker安装xxl-job(推荐该方式构建)2.4 Docker安装redis2.5 Docker安装mysql 3 Docker自定义镜像3.1 Dockerfile的基本结构3.2 Dockerfile指令3.3 自定义JDK镜…

Vue的项目启动指令分析

通过Vue CLI脚手架创建的项目,默认的启动项目方式是 npm run serve 这里的serve是可以修改的。 在创建的项目目录中,找到package.json 双击打开,找到scripts部分 在scripts部分,有一个"serve"键值对,这里的…

ArcGIS软件:地图投影的认识、投影定制

这一篇博客介绍的主要是如何在ArcGIS软件中查看投影数据,如何定制投影。 1.查看地图坐标系、投影数据 首先我们打开COUNTIES.shp数据(美国行政区划图),并点击鼠标右键,再点击数据框属性就可以得到以下的界面。 我们从…

机器学习中线性回归算法的推导过程

线性回归是机器学习中监督学习中最基础也是最常用的一种算法。 背景:当我们拿到一堆数据。这堆数据里有参数,有标签。我们将这些数据在坐标系中标出。我们会考虑这些数据是否具有线性关系。简单来说 我们是否可以使用一条线或者一个平面去拟合这些数据的…

已解决java.lang.UnsupportedClassVersionError异常的正确解决方法,亲测有效!!!

已解决java.lang.UnsupportedClassVersionError异常的正确解决方法,亲测有效!!! 问题分析 在Java开发过程中,我们常常会遇到各种运行时错误和异常。其中,java.lang.UnsupportedClassVersionError是一个非常…

Flutter页面缓存

定义一个单独的KeepAliveWrapper.dart 的tool文件 import package:flutter/material.dart;class KeepAliveWrapper extends StatefulWidget {const KeepAliveWrapper({Key? key, required this.child, this.keepAlive true}): super(key: key);final Widget? child;final b…