【基于Rsync实现Linux To Windows文件同步】

基于Rsync实现Linux To Windows文件同步

  • 简介
  • 安装步骤
    • 安装Linux服务器端
      • 1.安装rsync
      • 2.启动Rsync
      • 3.验证是否启动成功
      • 4.修改rsyncd.conf
      • 重启rsync服务
    • 安装Windows客户端
      • 1.rsync客户端安装:
      • 2.配置环境变量
      • 3.测试rsync命令
      • 4.创建密码文件
      • 5.密码文件授权
      • 6.查看服务端需要同步的列表
      • 7.拉取文件命令
    • 命令参数解释
  • 配置定时同步脚本
    • 编写window定时拉取脚本
    • 配置计算机任务计划程序
      • 1.打开任务计划程序
      • 2.创建基本任务
        • ⑥完成
  • 遇到的问题
    • @ERROR: auth failed on module hadoop
    • @ERROR: chdir failed

简介

安装步骤

安装Linux服务器端

1.安装rsync

yum -y install rsync

【基于Rsync实现Linux To Windows文件同步】_第1张图片

2.启动Rsync

systemctl start rsyncd

在这里插入图片描述

3.验证是否启动成功

netstat -tlnp

默认端口号:873
在这里插入图片描述

4.修改rsyncd.conf

rsyncd.conf配置详情
【基于Rsync实现Linux To Windows文件同步】_第2张图片

vim /etc/rsyncd.conf

   #文件夹权限
   uid = root
   gid = root
   #是否越过软链接文件
   use chroot = no
   [test]
   #密码保存位置
   secrets file = /etc/rsyncd.password
   #rsync用户
   auth users = vendetta
   hosts allow = 192.168.0.105/32 192.168.0.103/32 #多个放行ip空格隔开
   path = /opt/
   list = yes
   read only = no
   ignore errors

【基于Rsync实现Linux To Windows文件同步】_第3张图片
这里一定要有path描述的路径,否则客户端会报错如下
在这里插入图片描述

touch /etc/rsyncd.password # 创建密码文件
vi /etc/rsyncd.password # 输入账号密码,例如:vendetta:123456
chmod 600 /etc/rsync d.password # 服务器端密码所属用户/用户组为root,权限为600
【基于Rsync实现Linux To Windows文件同步】_第4张图片

重启rsync服务

systemctl restart rsyncd

安装Windows客户端

1.rsync客户端安装:

客户端位置:
【基于Rsync实现Linux To Windows文件同步】_第5张图片
安装路径为D盘或者C盘的根路径下,路径中不能有中文和特殊符号
【基于Rsync实现Linux To Windows文件同步】_第6张图片
安装完成后,将压缩包中的chown.exe和cwrsync.cmd复制并替换到安装目录下
【基于Rsync实现Linux To Windows文件同步】_第7张图片
双击cwrsync.cmd执行,会生成home目录,这里很关键,没有生成的话程序无法正常运行;
【基于Rsync实现Linux To Windows文件同步】_第8张图片

2.配置环境变量

让rsync在cmd能直接运行;;bin路径
【基于Rsync实现Linux To Windows文件同步】_第9张图片

3.测试rsync命令

在cmd中测试rsync命令,弹出help信息为正常,如图
【基于Rsync实现Linux To Windows文件同步】_第10张图片

4.创建密码文件

在bin目录下创建密码文件,密码为:123456 实际环境根据自己服务端配置的密码一致
【基于Rsync实现Linux To Windows文件同步】_第11张图片

5.密码文件授权

cmd切换到bin目录下,使用chmod将密码文件权限配置为600,chmod.exe 600 rsyncd.password
【基于Rsync实现Linux To Windows文件同步】_第12张图片

6.查看服务端需要同步的列表

执行一下看远程服务端的文件列表:rsync --password-file=/cygdrive/C/cwRsync/rsyncd.password [email protected]::test
【基于Rsync实现Linux To Windows文件同步】_第13张图片
如果报错,可能需要授权密码文件,这里需要注意一下,你当前是哪个登录用户就授权给哪个,chown administrator /cygdriver/c/cwRsync/bin/rsyncd.password

7.拉取文件命令

拉取命令:rsync -avPz --password-file=/cygdrive/C/cwRsync/rsyncd.password --progress --delete [email protected]::test /cygdrive/C/test/
【基于Rsync实现Linux To Windows文件同步】_第14张图片

命令参数解释

【基于Rsync实现Linux To Windows文件同步】_第15张图片

配置定时同步脚本

编写window定时拉取脚本

@echo off
rsync -avPz --password-file=/cygdrive/C/cwRsync/rsyncd.password --progress --delete [email protected]::test /cygdrive/C/test/ 

【基于Rsync实现Linux To Windows文件同步】_第16张图片

配置计算机任务计划程序

1.打开任务计划程序

【基于Rsync实现Linux To Windows文件同步】_第17张图片
打开后
【基于Rsync实现Linux To Windows文件同步】_第18张图片

2.创建基本任务

【基于Rsync实现Linux To Windows文件同步】_第19张图片

【基于Rsync实现Linux To Windows文件同步】_第20张图片

【基于Rsync实现Linux To Windows文件同步】_第21张图片

【基于Rsync实现Linux To Windows文件同步】_第22张图片

【基于Rsync实现Linux To Windows文件同步】_第23张图片

⑥完成

【基于Rsync实现Linux To Windows文件同步】_第24张图片

遇到的问题

@ERROR: auth failed on module hadoop

@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1296) [sender=2.6.8]
解决思路:
①是你的rsyncd.password文件没有授权:

chmod.exe 600 rsyncd.password
chown.exe administrator rsyncd.password

②密码不正确:修改密码

@ERROR: chdir failed

@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=2.6.8]
解决思路:
①服务器端rsyncd.conf中配置的path目录不存在:
建立目录
②SeLinux开启了:

#临时关闭 SELinux
setenforce 0
#永久关闭 SElinux
vim /etc/selinux/config
SELINUX=enforcing #将 SELINUX=enforcing改为SELINUX=disabled,保存后退出

你可能感兴趣的:(文件同步&备份,linux,windows,运维,rsync,文件同步)