centos7 rsync服务同步文件

技术 置顶 精帖
0 597
peng49
peng49 2022-04-18 16:45:22
 

服务端

安装

sudo yum install -y rsync

配置

  1. $ sudo mkdir /etc/rsync
  2. $ sudo touch /etc/rsync/rsyncd.secrets
  3. $ sudo touch /etc/rsync/rsyncd.motd
  4. # 权限必须600
  5. $ sudo chmod 600 /etc/rsync/rsyncd.secrets
  6. # 创建一个用户名为sync01,密码为123456的rsync用户【不是linux系统用户】
  7. $ sudo bash -c "echo 'sync01:123456' >> /etc/rsync/rsyncd.secrets"

修改 /etc/rsyncd.conf

  1. # 设置进行数据传输时所使用的账户名称或ID号【linux系统用户】
  2. uid = vagrant
  3. # 设置进行数据传输时所使用的组名称或GID号【linux系统组】
  4. gid = vagrant
  5. # 设置user chroot为yes后,rsync会首先进行chroot设置,将根映射到path参数路径下
  6. # 对客户端而言,系统的根就是path参数所指定的路径。
  7. # 但这样做需要root权限,并且在同步符号连接资料时仅会同步名称,而内容将不会同步。
  8. use chroot = yes
  9. # 设置服务器所监听网卡接口的IP地址
  10. #address = 192.165.34.91
  11. # 设置服务器监听的端口号,默认为873
  12. #port = 873
  13. # 是否只读,只读表示客户端不能上传文件
  14. read only = yes
  15. # 设置并发连接数,0代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收到稍后重试的提示消息
  16. max connections = 4
  17. # 设置Rsync进程号保存文件名称
  18. pid file = /var/run/rsyncd.pid
  19. # 设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为600,仅在设置 auth users 参数后有效
  20. # 此处设置表示全局,也可在模块中单独设置
  21. secrets file = /etc/rsync/rsyncd.secrets
  22. # 连接成功提示信息,在motd文件中编写
  23. motd file = /etc/rsync/rsyncd.motd
  24. # 设置日志文件名称
  25. log file = /var/log/rsync.log
  26. # 设置锁文件名称
  27. #lock file = /var/run/rsync.lock
  28. # exclude = lost+found/
  29. # 是否开启Rsync数据传输日志功能
  30. # transfer logging = yes
  31. timeout = 900
  32. ignore nonreadable = yes
  33. dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
  34. # 设置允许哪些主机可以同步数据,可以是单个IP,也可以是网段,多个IP与网段之间使用空格分隔
  35. hosts allow=192.165.34.1/24
  36. # 设置拒绝所有(除hosts allow定义的主机外)
  37. hosts deny=*
  38. # 模块,Rsync通过模块定义同步的目录,模块以[name]的形式定义,
  39. # 这与Samba定义共享目录是一样的效果。在Rsync中也可以定义多个模块
  40. [vagranthome]
  41. path = /home/vagrant
  42. #忽略一些IO错误
  43. ignore errors
  44. # comment定义注释说明字串
  45. comment = sync vagrant home
  46. # exclude可以指定例外的目录
  47. # exclude = test/
  48. # 设置允许连接服务器的账户,账户可以是系统中不存在的用户
  49. auth users = sync01
  50. #客户端请求显示模块列表时,本模块名称是否显示,默认为true
  51. list = false

关闭 SELinux

  1. # https://blog.51cto.com/bguncle/957315
  2. $ sudo setenforce 0
  3. $ sudo sed -ie "s/^SELINUX=.*/SELINUX=disabled/" /etc/selinux/config

设置systemd的配置项

  1. $ sudo sed -ie 's/OPTIONS="/OPTIONS="--config=/etc/rsyncd.conf /' /etc/sysconfig/rsyncd
  2. $ sudo systemctl restart rsyncd

客户端

复制服务端文件到本地

  1. $ rsync -av sync01@192.165.34.91::vagranthome /home/vagrant
  2. Password:
  3. receiving incremental file list
  4. sent 24 bytes received 70 bytes 8.17 bytes/sec
  5. total size is 86,512,293 speedup is 920,343.54

也可以使用--password-file参数指定密码文件

  1. $ sudo touch /opt/sync.pass
  2. $ sudo bash -c "echo '123456' > /opt/sync.pass"
  3. $ sudo chmod 600 /opt/sync.pass
  4. $ sudo rsync -av sync01@192.165.34.91::vagranthome/kafka_2.13-3.0.1.tgz /home/vagrant --password-file=/opt/sync.pass
  5. receiving incremental file list
  6. sent 24 bytes received 70 bytes 26.86 bytes/sec
  7. total size is 86,512,293 speedup is 920,343.54
回帖
登录
忘记密码?