星期二, 九月 01, 2009

用Rsync备份文件

备份一定是件极无聊的事,因为大家都不太愿意去做。常听朋友说丟了手机,坏了硬盘,更痛心的是––大量文件也不复存在。也许,平时定期备份文件,就可以避免这些灾难。

Mac自带的Time Machine可以自动备份包括系统文件、应用程序、音乐、照片、影片和文档在内的所有内容。但是,如果你和我一样希望自己选择备份哪些内容以及在什么时候备份,那么Mac内置的另一款备份工具––Rsync,可能更适合我们。

命令

Rsync是一个简单易用而且功能强大的命令行备份工具。她几乎出现在所有Linux和Unix操作系统中,当然也被包含在Mac OS X里。命令行已经被妖魔化成复杂繁琐的老古董,其实命令行工具(比如Rsync),简单的超乎想象。

打开“实用工具”中的“终端”(Terminal)程序,输入以下命令,就可以轻松完成用户目录的备份:

rsync -aE --delete --progress ~ "/Volumes/backup"

rsync是命令名;

-aE参数设置复制文件及目录,并保持访问权限、修改时间等文件的元数据(metadata);

--delete参数让目标同源保持完全一致,在源目录被删除的文件,在目标目录也会被删除。如果不包含“--delete”选项,那么即使在源目录已经删除的文件,也会仍然保存在目标目录中。

--progress参数将显示复制详细的进度。

~代表当前用户的home目录,也就是你需要备份的源目录;

/Volumes/backup/是备份的目标目录。

如果你对备份的效果不太有把握,不妨先加上以下参数试运行一下命令:

-n参数让命令只是虚拟运行,而不去实际改变任何东西;

Rsync_DryRun

脚本

我们可以指定不同的源目录,来选择需要备份的内容;而/Volumes/backup/则将一个外置硬盘做为备份的目标介质,显然您需要根据自己的驱动名称做出改变。(你可以在Finder或桌面上看到驱动器的名称,或者在终端程序中使用ls /Volumes命令来查看驱动器列表。)将这些命令保存为以.command为后缀名的脚本文件。

Rsync_CommandFile

然后,利用以下命令,使用户有权运行脚本文件:

chmod u+x ~/Documents/Tools/backup.command

chmod命令用于修改文件和目录的权限,u+x参数让所有者有权执行文件。

现在,只要在Finder中,双击backup.command文件,就可以自动完成文件的备份了。

自动

如果需要更加自动化和周期性的备份。打开iCal,新建事件,指定“重复”频率(比如每周或每月),在“提醒”部分,选择“打开文件”,点击下拉菜单中的“其它...”,在弹出的对话框中选择用于备份的脚本文件。今后,每当指定时间到来时,系统就会自动执行备份命令。

iCal_OpenCommandFile

没有评论:

发表评论