简介
传统上,在Unix系统下使用的备份工具主要有tar、dump(rdump)、restore(rrestore)、dd、cpio、rcp等工具。这些工具中大多数适合于本地备份(native backup),倘若要执行远程备份(remote backup)的话,往往显得力不从心。在Linux系统下提供了一个工具——rsync,据其文档说明,它是rcp工具的一个替代品,但是更快捷、更灵活。rsync采用的remote-update协议允许rsync通过网络链路传输两组文件的增量,而是不是文件本身,据此rsync可以提高传输效率。
rsync所具有的功能特色主要有:
- 支持对连接、设备、用户、组、权限的拷贝;
- 支持类似GNU tar工具的exclude和exclude-from选项;
- 类似CVS的exclude模式:忽略相同的文件;
- 可以使用多种远程shell工具,比如rsh或者ssh;
- 不需要root权限即可运行;
- 将文件传输流水线化以减少延迟开销;
- rsync服务器允许以匿名或者认证方式登录(特别适合于做镜像)。
和大多数网络工具一样,rsync也是以服务器/客户端的方式工作的。但较为特别的一点是:rsync服务器和客户端都使用同一个程序——rsync(如果按常见的做法,则应该是服务器程序为rsyncd,客户端程序为rsync)。启动服务器的时候需要指明–daemon选项,以表明启动的是服务器。而在启动客户端程序的时候则不应开启–daemon选项。
在下文中,假设需要备份的主机为192.168.0.100,其上运行rsync服务器,将该主机称之为rsync-server;存放备份数据的主机为192.168.0.200,其上运行rsync客户端程序,将该主机称之为rsync-client。
服务器端的配置
rsync的配置文件为/etc/rsyncd.conf,这个配置文件控制着rsync服务器的认证、访问、logging、可用模块等信息。关于这个配置文件的详细说明请参见rsyncd.conf(5)。在本文中,仅对将要使用到的几个配置选项进行说明。需要提醒的是,默认情况下Fedora Core系统的/etc目录下没有rsyncd.conf这个文件,自行创建该文件即可。rsync服务器默认运行在TCP端口873上。