系统运维

Linux日常运维--7

2021-01-14 07:21:38 阅读数 7948 收藏 0

rsync工具介绍

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

语法:

  1. rsync [OPTION]... SRC DEST
  2. rsync [OPTION]... SRC [USER@]host:DEST
  3. rsync [OPTION]... [USER@]HOST:SRC DEST
  4. rsync [OPTION]... [USER@]HOST::SRC DEST
  5. rsync [OPTION]... SRC [USER@]HOST::DEST
  6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync有六种不同的工作模式: 

  1. 拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
  2. 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
  3. 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
  4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@192.168.130.126::123 /lynn
  5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@192.168.130.126::www
  6. 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.130.126/www


rsync常用选项

rsync常用选项:

  1. -a 包含-rtplgoD
  2. -r 同步目录时要加上,类似cp时的-r选项
  3. -v 同步时显示一些信息,让我们知道同步的过程
  4. -l 保留软连接
  5. -L 加上该选项后,同步软链接时会把源文件给同步
  6. -p 保持文件的权限属性
  7. -o 保持文件的属主
  8. -g 保持文件的属组
  9. -D 保持设备文件信息
  10. -t 保持文件的时间属性
  11. --delete 删除DEST中SRC没有的文件
  12. --exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
  13. -P 显示同步过程,比如速率,比-v更加详细
  14. -u 加上该选项后,如果DEST中的文件比SRC新,则不同步
  15. -z 传输时压缩

实例:


rsync通过ssh同步

rsync /etc/passwd 192.168.130.128:/tmp/aming.txt  

rsync -avP 192.168.130.128:/tmp/aming.txt /tmp/123.txt

rsync -avP -e "ssh -p 22"/etc/passwd 192.168.130.128:/tmp/aming.txt