windows 下rsync 同步详细部署 ---老程

简介:

一般情况下是,是clientserver上面拉取数据,千别做反了

所有文档和安装软件全在360云盘里面

http://yunpan.cn/cLEZcDtrUBZBN  访问密码 6496

 

 

.server 端的安装

1.先创建一个用户,这个用户只是用来启动rsync这个服务来用的

 

wKioL1ZMIcGhm755AABNjy55SkQ469.png


2.这里指定新建的目录rsync-server

wKioL1ZMIcKRArsxAABcPBmID-4426.png


3.指定用户名和密码

 这里的用户名和密码就是第一步里面创建的用于启动rsync服务的用户名

  密码也是的,别弄错了。


wKiom1ZMIdWgQi_iAABk7h5zmGw911.png


4.安装结束

wKiom1ZMIdWC-lhZAABKSteN8pk754.png


5.查看生成的目录

wKioL1ZMIpTBPn9QAAA5gaZI9EA089.png


6.创建一个目录用户存放用户名和密码,并设置权限

  创建一个passwd 目录

wKioL1ZMIx3wr0vmAAB7mIHF7O4849.png


上面的提示没有影响


wKiom1ZMIy2gyNXpAADSOqQS31A173.png

wKioL1ZMI6qhCqWBAADiC_KebfU580.png


上面所有图的意思就是把passwd的所有者设置为rsync 如下图


wKioL1ZMJZuCHDQeAABhzvIW-9c045.png

7.配置rsyncd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
usechroot =  false    //不使用chroot 一般内网无所谓了。
uid = 0    // 这里默认就行,如果改了,会出现invalid uid 错误
gid = 0     //这里默认就行,如果改了,会出现invaliduid 错误
strictmodes =  false   //使用静态模式
logfile = rsyncd.log      //日志 不指定就在rsync安装目录下
port=  20790     //默认873 建议改掉 这里改成20790
[pic]    // 定义模块名 方便客户端拉取这里定民pic
path= /cygdrive/d/data_bak/IIS_bak/API    //这里很重要,这是server端分发给client端的数据目录
readonly =  false    //只读取
transferlogging = yes
authusers = admin      //这个用户就是passwd.conf里的用户
secretsfile = /cygdrive/c/rsync-server/ICW/passwd/passwd.conf   // 指定用户登陆的密码文件,这里的用户是指客户端的用户
hostsallow = *.*.*.*,*.*.*.*   //多个IP用逗号分开
hostsdeny =  0.0 . 0.0 / 0

path = /cygdrive/d/data_bak/IIS_bak/API

POSIX风格的写法

 

这里要注意不能写成windows 风格的,不然会报错,开头是/cygdrive 后面是路径,并且是这个/linux风格而不是windows风格的


8.登陆密码的配置

前面是用户名admin 用冒号隔开后面是密码

wKiom1ZMJcmQp_SOAAA5x1VKXfM621.png


9.启动rsync服务

wKiom1ZMJeGwGCgPAAAfPyGfq64984.png


10.服务端测试

  如下图,显示成功

wKioL1ZMJk_SZi0GAAAVbpbcMd4103.png



.客户端的安装

傻瓜式安装

  1. 第一步

    wKioL1ZMJ1OjNZd_AABxafrR8mE039.png

2.第二步

wKioL1ZMJ2WgvdZKAACOU9CRVYA020.png

3.第三步

wKioL1ZMJ3Pi5cxPAADVrLbe1Eg276.png

4.客户端的安装位置就没有讲究了

wKioL1ZMJ4DCXjcDAADVkjEChGo275.png

5.最后一步

wKioL1ZMJ43TIbXhAACUezj52oc509.png

6.测试和服务端的通信

wKiom1ZMJ0uAbrvxAAARU5yhjgs777.png

出来下面这个图就对了,如果是跨机房,可能比较慢,要等一下

wKioL1ZMJ6XznlqrAAATlU8H8EY196.png


7.测试拉取数据

如下图,拉取成功

1
C:\ rsync \cwRsync\bin> rsync .exe -vzrtopg --progress --deleteadmin@42.96.168.171::pic  /cygdrive/e/data   --port=20790

wKiom1ZMJ5aBFxSyAAAnQVXkUSY905.png

--progress    //显示备份过程

--delete    // 删除server段中有,client端没有的。也就意味着,client端要一个空的目录,如果目录中有文件,就会被清空

admin     // server 端中passwd.conf中的用户名

@42.96.168.171 // server 端地址

::pic      // server端中rsyncd.conf 中定义的模块名  一定是双冒号

/cygdrive/e/data   // client端用来存放从server端拉来的数据

--port   //端口


wKioL1ZMKBbzI_kBAABQsJ9oMj4097.png

wKioL1ZMKGTyEgi7AAB-ZRXrpFg893.png

server 端的日志如下

wKiom1ZMKCays1_cAABZWnQoCS0827.png

8. 环境变量的设置和脚本的编写

编辑Path的时候要注意,;C:\rsync\cwRsync\bin   前面有个分号,然后关掉cmd窗口再打开就行了。

wKioL1ZMKJGzQs4lAACsxOHL7Jo309.png

wKioL1ZMKKKDlQMdAAAyH9zUm2Y008.png

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\rsync\cwRsync\passwd>rsync-vzrtopg --progress -- delete  admin@ 42.96 . 168.171 ::
pic  /cygdrive/e/data  --port= 20790   --password-file=/cygdrive/c/rsync/cwRsync/
passwd/passwd.conf<c:\rsync\cwRsync\passwd\pw.txt
 
passwordfile must be owned by root when running  as  root
continuingwithout password file
Password:
receivingincremental file list
./
cj/
  
sent61 bytes  received  196  bytes   39.54  bytes/sec
totalsize  is  58594377   speedup  is  227993.68



rsync -vzrtopg --progress --delete admin@42.96.168.171::

pic /cygdrive/e/data --port=20790   --password-file=/cygdrive/c/rsync/cwRsync/

passwd/passwd.conf<c:\rsync\cwRsync\passwd\pw.txt


这样写的好处就是不用再建立多余系统用户 虽然还是提示:

passwordfile must be owned by root when running as root

但不影响使用 但要记住passwd.conf < 后面的这个路径要记住,因为是导入,所以要是windows风格的路径 passwd.conf 是空的  pw.txt 里面只要放密码就行了


把上面脚本写成bat 加到计划任务即可

wKioL1ZMKdvyhNLZAABIk8S0vvE165.png


计划任务

wKiom1ZMKZzw76N6AABZoD0yy1g827.png


经验证这个bat 是能用使用的

本人使用的是一款定时任务,也已经放到网盘,打开就能用,方便,这里我设置成循环,

时间是30  内容就把bat 脚本的路径放进去

bat的内容如下:

rsync-vzrtopg --progress --delete admin@42.96.168.171::pic  /cygdrive/e/data  --port=20790  --password-file=/cygdrive/c/rsync/cwRsync/passwd/passwd.conf<c:\rsync\cwRsync\passwd\pw.txt

后缀名一定要是bat的才行

wKiom1ZMK2LDFNYtAACPxnxbmTk138.png


.相关的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, --links 保留软链结
-L, --copy-links 想对待常规文件一样处理软链结
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
--safe-links 忽略指向SRC路径目录树以外的链结
-H, --hard-links 保留硬链结
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-D, --devices 保持设备文件信息
-t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-n, --dry-run现实哪些文件将被传输
-W, --whole-file 拷贝文件,不进行增量检测
-x, --one-file-system 不要跨越文件系统边界
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是 700 字节
-e, --rsh=COMMAND 指定替代rsh的shell程序
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
-- delete  删除那些DST中SRC没有的文件
-- delete -excluded 同样删除接收端那些被该选项指定排除的文件
-- delete -after 传输结束以后再删除
--ignore-errors 及时出现IO错误也进行删除
--max- delete =NUM 最多删除NUM个文件
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
--force 强制删除目录,即使不为空
--numeric-ids 不将数字的用户和组ID匹配为用户名和组名
--timeout=TIME IP超时时间,单位为秒
-I, --ignore-times 不跳过那些有同样的时间和长度的文件
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为 0
-T --temp-dir=DIR 在DIR中创建临时文件
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 --partial
--progress 显示备份过程
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN 指定排除不需要传输的文件模式
-- include =PATTERN 指定不排除而需要传输的文件模式
--exclude-from=FILE 排除FILE中指定模式的文件
-- include -from=FILE 不排除FILE指定模式匹配的文件
--version 打印版本信息
--address 绑定到特定的地址
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT 指定其他的rsync服务端口
--blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
--progress 在传输时现实传输过程
--log-format=FORMAT 指定日志文件格式
--password-file=FILE 从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽,KBytes per second
-h, --help 显示帮助信息









本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1714001,如需转载请自行联系原作者
目录
相关文章
|
中间件 Java 应用服务中间件
Windows部署web应用服务器Jboss中间件
如何在Windows系统上部署JBoss 7.1作为Web应用服务器,包括配置环境变量、自动部署WAR包、访问JBoss控制台、设置管理员账户以及修改端口和绑定地址等操作。
491 1
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
2月前
|
存储 数据安全/隐私保护 Windows
Windows中部署网盘神器 Filebrowser
ZeroNews (零讯)内网穿透赋予 FileBrowser 任意位置互联网访问的能力,无需用户具备固定公网IP,提供专用的访问域名,将 FileBrowser 转变为公有云盘,实现多用户在线协同工作。
|
6月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
3217 0
|
8月前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
1177 1
|
11月前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
2047 8
|
监控 Ubuntu Linux
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
这篇文章介绍了如何在Ubuntu和Windows系统中通过设置相同的时区并使用ntp服务来解决时间同步问题。
275 4
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
1497 3
Windows操作系统部署安装Kerberos客户端
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
576 0
下一篇
oss云网关配置