[数据同步] Linux与Windows进行数据同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数据同步] Linux与Windows进行数据同步相关的知识,希望对你有一定的参考价值。

实验环境

 

服务端:Linux Centos 6.8 (10.208.131.198)

客户端:windows 2008 (10.208.131.199)

 

服务端

一、安装rsync服务 设置开机自启动

 

# yum install xinetd rsync -y
# chkconfig xinetd on
# chkconfig rsync on



 

二、设置rsync以服务方式运行

 

 # vim /etc/xinetd.d/rsync
service rsync
{
        disable = no            (默认为YES)
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}


三、启动rsync服务 查看端口是否开启

# service xinetd start# netstat -tanp |grep 873tcp       
0      0 :::873                      :::*                        LISTEN      1593/xinetd

 

四、配置rsyncd.conf  (需要手工创建)

 

# vim /etc/rsyncd.conf
uid = root//运行RSYNC守护进程的用户
gid = root//运行RSYNC守护进程的组
use chroot = no
pid file = /var/run/rsyncd.pid//pid文件的存放位置
lock file = /var/run/rsync.lock//锁文件的存放位置
log file = /var/log/rsyncd.log//日志文件的存放位置
max connections = 3//最大客户端连接数3
stirict modes = yes//是否检查口令的权限
port = 873//rsync默认端口
[testshare]//认证的模块名 在客户端需要指定
path = /share///参与同步的目录
ignore errors//可以忽略一些无关的IO错误
read only = no//允许可读可写
list = no//不允许列出清单
hosts allow = 10.208.131.1.199//允许同步的主机 拒绝其他一切
auth users = admin//认证的用户名
secrets file =/etc/rsyncd.pass//密码文件存放地址


五、创建数据同步的目录

# mkdir /share


  

六、创建用户名和密码给予权限 并重启rsync服务

# vim /etc/rsyncd.pass
Admin:123456       //格式为 user:passwd 为一行
# chmod 600 /etc/rsyncd.pass
# chown root.root /etc/rsyncd.pass
# service xinetd restart

 

客户端

一、Windows主机客户端安装与配置

 

下载地址https://www.itefix.net/cwrsync   (5.5版本) 绿色版

 

5.5版本直接解压 在cmd命令行下切换到bin下可以用

5.5的版本需要自己添加一个账户

4.0.5有服务端和客户端版本

4.0.5客户端版本没有chmod和chown这两个命令需要从服务端拷贝

5.5服务端是收费的

5.5的客户端是有chmod和chown程序的


技术分享


服务器和客户端账户和密码必须为一致 创建账号admin 密码123456


技术分享

技术分享


创建同步密码 不需要账户只需要密码

 

新建一个文本文档   将密码写入后改名为rsyncd.pass


技术分享


密码文件在哪都可以同步的时候指定密码文件位置就好了

 

给密码文件权限进行设置

 

C:\Users\Administrator>D:
D:\>cd /ICW/Bin/
D:\ICW\Bin>chmod.exe -c 600 /cygdrive/d/ICW/rsyncd.pass
mode of `/cygdrive/d/ICW/rsyncd.pass‘ changed to 0600 (rw-------)
D:\ICW\Bin>chown.exe administrator /cygdrive/d/ICW/rsyncd.pass


环境变量设置

 

计算机属性 --> 高级系统设置 --> 环境变量 --> 系统变量 --> Path --> 末尾添加D:\ICW\Bin;


%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\ICW\Bin;

 

关掉cmd命令行重新打开输入rsync回车   会出来rsync的帮助信息  已经生效

 

 

测试是否可以同步

 

在Linux同步的目录里创建文件 并在WindowsE盘创建share目录

 

C:\Users\Administrator>rsync -vzrtopg --progress [email protected]::testshare /cygdrive/e/share --password-file=/cygdrive/d/ICW/rsyncd.pass

-v 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理。
-r, --recursive 对子目录以递归模式处理。
-t, --times 保持文件时间信息。
-o, --owner 保持文件属主信息。
-p, --perms 保持文件权限。
-g, --group 保持文件属组信息。
--delete 删除目标中源文件没有的文件或目录
--progress 显示备份过程。
/cygdrive/e/share E盘下的share   /cygdrive/必须加的
--password-file=rsyncd.pass  从rsyncd.pass得到密码

计划任务

 

由于设置了环境变量 直接将上边的命令写到文本文档 改名为.bat或者NaNd文件 放到任务计划里就可以了

 

 

测试结果


技术分享


技术分享

技术分享


技术分享




本文出自 “吴鹏的博客” 博客,请务必保留此出处http://sedlock.blog.51cto.com/3030387/1968018

以上是关于[数据同步] Linux与Windows进行数据同步的主要内容,如果未能解决你的问题,请参考以下文章

Rsync在Windows系统和Linux系统间进行文件同步操作

ES 译文之如何使用 Logstash 实现关系型数据库与 ElasticSearch 之间的数据同

rsync 远程同

求助编程实现数据库同步问题(java)

Linux与Windows文件同步

rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可