Linux下的rsync命令详解(受不了网上以讹传讹的翻译)

来源:互联网 发布:大学宿舍知乎 编辑:程序博客网 时间:2024/04/29 16:21

rsync是一款UNIX系统中的开源工具,提供增量的文件传输功能。
rsync采用GNU GPL许可证。
rsync的最新版本是2015.12.21发布的3.1.2。
1.rsync工具的组成

  • rsync文件,实现远程文件复制的命令
  • rsync.conf文件,在Daemon模式中的rsync命令所使用的配置文件
2.rsync的使用
1) rsync server

一台机器,执行rsync --daemon启动,启动时会读取rsync.conf配置文件

2) rsync client

rsync server之外的任何安装了rsync的机器。

可以根据需求执行rsync ...命令,实现与rsync server进行备份、镜像等操作。
rsync的命令格式:

rsync [-options] <source> <destination>

说明,<source>或<destination>可以如下任一格式:

  • /one/data/path
执行rsync命令的本地机器上的具体路径
  • username@rsync_server:path/on/rsync/server
注意1个冒号,表示通过SSH传输文件
  • username@rsync_server::path/on/rsync/server
注意2个冒号,表示通过RSH传输文件

《补充》这部分的原文,详解参考文献2的如下部分,不知为何被各种资料理解得面目全非:

The single colon specifies that you want the whole mess sent through your ssh tunnel, as opposed to the regular rsh tunnel. This is an important point to pay attention to! If you use two colons, then despite the specification of ssh on the command line previously, you'll still go through rsh. 


rsync命令示例:
  • rsync -v rsync://rsync_server/path_on_rsync_server
查看rsync server上的文件
  • rsync -auH rsync://rsync_server/path_on_rsync_server/ .
备份rsync server到本地当前路径。

不要丢了最后的".",表示当前路径。

  • rsync -av /databack root@ip::www
将本地路径的文件,通过RSH传输到rsync server的www路径下
  • rsync -avz root@ip:src/bar /data
将rsync server的www路径下的文件,通过RSH传输到本地/data路径下
  • rsync -a /data /backup
将本地/data路径下的文件,复制到本地/backup路径下


参考文献:

https://rsync.samba.org/
http://everythinglinux.org/rsync/

1 0