“同步数据”标签相关文章 »

jul 31

我在家里和公司使用的都是台式机(Ubuntu 系统),所以经常可能涉及到个人数据的同步,比如电子书、配置信息等。

为了保持统一性,传统的手工 tar 方式是不太现实的,幸好有 rsync 这个工具(也有人推荐使用 unison,有兴趣的可以去看看)。

我的两个台式机系统一般不会同时运行,或者一般都没有固定 IP,所以我使用了一台 FreeBSD 服务器作为中转,所有数据只与此服务器进行同步。首先,需要在中转服务器上安装 rsync 程序,因为是 FreeBSD 系统,很简单:

cd /usr/ports/net/rsync
make install clean

然后在两台 Ubuntu 上都安装 rsync:

sudo apt-get install rsync

安装完成后,假设需要将本地的 /export/mydatas 目录同步到远程中转服务器的 /export/mydatas 目录:

rsync -auvz --stats --rsh=ssh /export/mydatas/ \
   user@host.name:/export/mydatas/

注:数据都是通过 SSH 加密传输的(同时启用了压缩),所以你需要预先设置好你的 SSH 客户端和服务器的正常通讯。

回家之后,从中转服务器的 /export/mydatas 目录同步到本地的 /export/mydatas:

rsync -auvz --stats --rsh=ssh \
   user@host.name:/export/mydatas/ /export/mydatas/

其实,就是把源和目的地址互换一下就可以了。

此外,如果你删除了某些文件,也行同步删除中转服务器上的文件,你可以在 rsync 命令中指定—delete 参数即可。

dirk 发表于 2009-07-31 Friday