多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
  上次说到我的解决方案([Mac OS X数据备份方案一例](http://blog.csdn.net/afatgoat/archive/2009/08/13/4441855.aspx))   技术要求重复一下: 1. 可以随便挑选备份源(目录/文件,添加/删除源等); 1. 关键是同步,因为我可能是用外置硬盘在别人的机器上拷贝了数据,而在自己的机器上没有/或者是旧的数据,不能一味地备份而用旧数据覆盖了新数据; 1. 可以很好地支持文件/目录的权限,ACL, ExtendedAttributes和Flags等文件属性的同步; 1. 可以自由选择多个目标盘; 1. 可以最大效率地使用硬盘空间不浪费; 1. 可以选择处理links的方式; 1. 安全可靠, 简单并可控制   首先是规划       技术要求已经说了,现在要考虑的是       我希望把日常所有的数据都备份到外置硬盘,再加点备份系统设置等数据。为了自己管理方便,把所有非系统的自己安装的应用程序都放在~/Applications目录里面。       其次,我希望把那个外置硬盘的数据同步到另一个外置硬盘,因为第一个外置硬盘经常随我外出,更容易坏不能依赖它。   其次,测试命令       命令使用rsync而且是更新后的版本。       测试备份过程,系统资源占用情况等,     测试变更源盘内容(文件内容,属性等)是否在目标盘更新,     测试变更目标盘内容,是否被源盘覆盖,     双向测试同步是否成功,     ... ...   最后,实施       使用下面的命令来实施了: <table id="oygs" style="width: 100%;" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000"><tbody><tr><td width="100%"><p>#</p><p># 1. Sync Current user to 1st External HD: exMac</p><p>#</p><p>sudo -s</p><p>rsync -auvEAXN --progress --inplace /Users/myaccount /Volumes/exMac/Backup/Users/</p><p>rsync -auvEAXN --progress --inplace /Library/Preferences /Volumes/exMac/Backup/OSX_System</p><p>rsync -auvEAXN --progress --inplace /Library/Application/ Support /Volumes/exMac/Backup/OSX_System</p><p>#</p><p># Sync from exMac to exMac2</p><p>#</p><p>rsync -auvEAXN --progress --inplace /Volumes/exMac/Backup /Volumes/exMac2/</p><p>#</p><p># Sync back from exMac2 to exMac</p><p>#</p><p>rsync -auvEAXN --fileflags --force-change --progress --inplace /Volumes/exMac2/Backup /Volumes/exMac/ </p></td></tr></tbody></table>   实际测试:在两个外置硬盘之间(一个Firewire400的 1TB的WD iBook, 一个USB2.0的Seagate 1.5TB FreeAgent), 传输420GB数据(使用备份不是更新),用时4小时12分钟 (Started from 18:50:52 MDT to 23:02:57 MDT). CPU占用没有超过50%。   速度还可以, 机器运行别的程序(上网,Entourage查email, 编辑小文件, 运行Console监视系统状态等)没有明显慢的感觉,明天要看看它在其它方面的表现,尤其是是否可靠。