一、rsync简介
rsync是Linux下文件同步的一种服务,用于同步更新两处计算机的文件和目录,并适当利用查找文件中的不同块以减少数据传输。rsync的主要特点就是增量传输,只对变更的部分进行传送。
rsync有4种不同的工作模式,对应于4种命令格式:
1. 本地文件系统上实现同步
rsync [OPTION]... SRC DEST
拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
如:rsync -a /data /backup
2. 本地主机使用远程shell和远程主机通信
rsync [OPTION]... SRC [USER@]host:DEST
使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。
如:rsync -avz *.c foo:src
rsync [OPTION]... [USER@]HOST:SRC DEST
使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。
如:rsync -avz foo:src/bar /data
3. 本地主机通过网络套接字连接远程主机上的rsync daemon
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。
如:rsync -av root@192.168.78.192::www /databack
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。
如:rsync -av /databack root@192.168.78.192::www
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
如:rsync -v rsync://192.168.78.192/www
前两者的本质是通过管道通信,即使是远程shell。而方式3则是让远