硬盘崩溃之后
这是我的第二块坏掉的硬盘。上次大约是在10多年前,那次花了3500块将硬盘(40G容量)寄到韩国才恢复了数据。后来吸取了教训,备份勤快了很多。
随着时间的推移,一切正常起来,又开始放松警惕了。这不,新笔记本中的硬盘,保存着我所有的资料,某天彻底完蛋了。
这次运气还算不坏,半个月前刚进行一次备份,不过损失了两周的趴代码工作。
这次没有去花3000块,当然,重新再趴一遍代码是很痛苦的过程。
痛定思痛之后,发现原来的移动硬盘备份需要的步骤太多,因为麻烦而容易偷懒,并且全盘备份的周期长些也没有问题,而真正关键的核心资产是我的每天都在变化和更新的源代码。这些源代码已经进了本地硬盘的SVN库了,其实只要及时地备份SVN库即可解决99%的问题。
下面就是我的解决方案:
1、使用 7z 工具每周压缩并得到一个完整地压缩档案文件;
2、使用 7z 的差异压缩选项,每天压缩SVN库的差异部分,得到一个很小的增量压缩档案
3、将这些压缩档案放在某个特定的文件夹。然后安装 Windows Live Mesh 工具,将这个文件夹设为自动同步文件夹;
每当有档案文件变化时,它们将被同步到 SkyDriver 上。
这下子,安全多了。
下面是关键的批处理命令(当然也可以把它们放到一个bat文件中):
完整压缩批处理代码
ECHO OFF ECHO 压缩 SVN 下文件到 SVN_%date%.7z,同时对文件加密,密码默认12345678 ECHO OFF SET CMD_7Z="C:\Program Files\7-Zip\7z.exe" SET SOURCE_FOLDER=SVN SET ARCH_BASE=SVN_%date%_Full %CMD_7Z% a -r -ai:*.* -mmt=on -p12345678 %ARCH_BASE% %SOURCE_FOLDER% *.BAT
差异压缩批处理代码
@ECHO OFF @ECHO --------------------------------------------------------------------- @ECHO [增量备份](同时采用加密方式,密码默认12345678) @ECHO . SET CMD_7Z="C:\Program Files\7-Zip\7z.exe" SET SOURCE_FOLDER=SVN SET ARCH_BASE= SET ARCH_NEW=SVN_%date%_Update.7z DEL %ARCH_NEW% FOR /F "delims==" %%i in ('DIR *Full*.7z /b') DO SET ARCH_BASE=%%~nxi @ECHO [基础压缩档]为 %ARCH_BASE% @ECHO 增量部分的[压缩档]为 %ARCH_NEW% @ECHO --------------------------------------------------------------------- %CMD_7Z% u %ARCH_BASE% -u- -up0q3r2x2y2z0w2!%ARCH_NEW% -p12345678 %SOURCE_FOLDER% DIR *.7z
将上述的批处理加入系统的自动调度,即可全自动执行。
/span