牛骨文教育服务平台(让学习变的简单)

Mac OS X数据备份

 

    因为我的MacBook Pro的笔记本硬盘不幸坏掉了,里面常用的一些数据没有了,幸好大部分数据都有备份,但是最新的还是没有来得及备份,丢失了一些。平时都是有了新数据就手动复制到外置硬盘里,但是总有忘记的时候,或者是很小的文件,或者是网上看到的好的文章,或者是随时记录的一个小的心灵火花等等,这些很可能会忘记备份,所以这一次促使我考虑一个更好的备份方案。

    说到备份,在Mac上有好多备份工具,无论是Mac OS X Leopard自带的Time Machine,还是免费的,如iBackup等,还是有很多选择的。但是总感觉没有特别合手的。

    为什么这么说呢?就拿Time Machine时间机器来说,对于一般使用用户来说还是很好的一个选择,再简单不过的配置,形象生动的界面,使用起来很舒服,普通消费用户基本没有什么可以抱怨的。但是问题是一般用户处理的都是小文件,最大不过数百MB的文件,所以时间机器的做法还是很有效的,对于我经常要变动/制作大于10GB的磁盘映象文件来说,我的1TB和1.5TB两个外置硬盘很快就会满了,即便是现在也是够用而已,使用时间机器很不适合(当然了网上有如何变更时间机器更多设置的讨论和软件,但是还是不浪费时间了,谁发现好的方法告诉我);至于可以回滚数据,虽然很酷,但是对于我来说,空间效率更重要。

    再说第三方的免费软件,比如iBackup, 经过测试,问题不少,比如对于Permission的支持不好,设置精度不够。其实iBackup使用的核心就是我以前的Blog中提到的rSync软件,而经过试用,并不是所有的rsync命令行参数都管用。也可能它在自己的包中包括了rsync命令文件,所以,我变更系统盘上的rsync命令文件,对它不起作用。比如Mac OS X Leopard自身带的rsync的版本是2.6.9, 而使用我的方法可以升级到版本3.0.6, 但是更新后iBackup似乎并不使用它。还有,2.6.9版本对于Permission的支持不好,比如我在源盘文件原来使用744这样的permissions, 只是用chmod变更为704,不变更文件内容,备份之后,在备份盘上还是744, 只有变更文件内容之后,文件的permission才随之改变;还有对ACLs的支持不好,比如我在源文件添加一条ACL项,它可以被正确地备份,但是当我把源文件该ACL项删除后,备份后的文件不仅没有把该ACL项删除,而且还添加了一项;对Extended Attributs支持也不好,比如,源文件和备份文件都没有其它变化的情况下,变更备份文件的颜色后,备份后--其实我使用的是更新操作,颜色变回了源文件的设置。有了上面的三点,可以说基本上让我放弃了。同样的对于一般独立用户使用没有这些问题困扰,因为怎么都是自己用,哪些细节不重要。只有设置精度不够,后面说。但是它也有明显的优点,比较突出的是可以备份系统和软件配置并可以使用插件来支持新的软件配置,还有就是它有logs可以供参考。(当然了,应该看看iBackup.app里面的resources, 可能可以更新里面的rsync命令文件,但是我没有试,因为还有设置精度问题,不浪费时间了)。

    说说我的需求,其实就是可以随便挑选备份源(目录/文件,添加/删除源等);关键是同步,因为我可能是用外置硬盘在别人的机器上拷贝了数据,而在自己的机器上没有/或者是旧的数据,不能一味地备份而用旧数据覆盖了新数据;可以很好地支持文件/目录的权限,ACL, Extended Attributes和Flags等文件属性的同步;可以自由选择多个目标盘;可以最大效率地使用硬盘空间不浪费;可以选择处理links的方式;安全可靠;简单并可控制。

(明天更新我的简单方案.)