Linux下rsync远程数据同步命令的详细介绍

介绍

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

常用场景

无密码同步

服务端:vim /etc/rsyncd.conf

  #This is the rsync daemon configuration     #global settings   pid file = /var/run/rsyncd.pid  port = 873  lock file = /var/run/rsyncd.lock  log file = /var/log/rsync.log  gid = root  uid = root    #module settings   [share_data]  path = /web/rsync/share_data  use chroot = no  max connections = 15  read only = yes  write only = no  list = no  ignore errors = yes  timeout = 120

  /usr/bin/rsync --daemon  mkdir -p /web/rsync/share_data

客户端

  rsync -avz --progress root@192.168.1.98::share_data /home/hadoop/share_data

限制流量同步

  rsync -avz --bwlimit=50 --progress root@192.168.1.98::share_data /home/hadoop/share_data

有密码同步

服务端 

vim /etc/rsyncd.conf

  #This is the rsync daemon configuration     #global settings   pid file = /var/run/rsyncd.pid  port = 873  lock file = /var/run/rsyncd.lock  log file = /var/log/rsync.log  gid = root  uid = root    #module settings   [auth_data]  path = /web/rsync/auth_data  use chroot = no  max connections = 15  read only = yes  write only = no  list = no  ignore errors = yes  timeout = 120  auth users = hadoop  secrets file = /etc/rsyncd.passwd

  echo "hadoop:password123" > /etc/rsyncd.passwd   chmod 600 /etc/rsyncd.passwd  mkdir -p /web/rsync/auth_data

客户端

  echo "password123" > /home/hadoop/rsyncd.passwd   chmod 600 /home/hadoop/rsyncd.passwd   rsync -avz --progress --password-file=/home/hadoop/rsyncd.passwd hadoop@192.168.1.98::auth_data /home/hadoop/auth_data

或者是

  export RSYNC_PASSWORD="password123"  rsync -avz --progress hadoop@192.168.1.98::auth_data /home/hadoop/auth_data

写入同步

服务端

vim /etc/rsyncd.conf

  #global settings   pid file = /var/run/rsyncd.pid  port = 873  lock file = /var/run/rsyncd.lock  log file = /var/log/rsync.log  gid = root  uid = root    #module settings   [write_data]  path = /web/rsync/write_data  use chroot = no  max connections = 15  read only = no  list = no  ignore errors = yes  timeout = 120  auth users = hadoop  secrets file = /etc/rsyncd.passwd

  mkdir -p /web/rsync/write_data

客户端

  echo "123" > /home/hadoop/write_file  export RSYNC_PASSWORD="password123"  rsync -avz --progress --delete /home/hadoop/write_file hadoop@192.168.1.98::write_data 

限定IP或者网段

  #global settings   pid file = /var/run/rsyncd.pid  port = 873  lock file = /var/run/rsyncd.lock  log file = /var/log/rsync.log  gid = root  uid = root    #module settings   [write_data]  path = /web/rsync/write_data  use chroot = no  max connections = 15  read only = no  list = no  ignore errors = yes  timeout = 120  auth users = hadoop  secrets file = /etc/rsyncd.passwd  hosts allow = 192.168.2.32 192.168.1.0/24

更多命令参考 

客户端 https://download.samba.org/pub/rsync/rsync.html

服务端 https://download.samba.org/pub/rsync/rsyncd.conf.html 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对脚本之家的支持。

参与评论