windows 下rsync 同步详细部署 ---老程
2015-11-18 14:54
429 查看
一般情况下是,是client从server上面拉取数据,千别做反了所有文档和安装软件全在360云盘里面http://yunpan.cn/cLEZcDtrUBZBN 访问密码 6496
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/e48e386a46bf2dbf138d4f9229f8e69b.png)
2.这里指定新建的目录rsync-server
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/91924c1cfaa0d762f73023945d4c4397.png)
3.指定用户名和密码
这里的用户名和密码就是第一步里面创建的用于启动rsync服务的用户名
密码也是的,别弄错了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/dff8da899df8000c7299a2a1321a4abf.png)
4.安装结束
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/b5b72aaccda5375cf4bae08c31c826d1.png)
5.查看生成的目录
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/bd6471b58c78da21b3c494bbb89db0ce.png)
6.创建一个目录用户存放用户名和密码,并设置权限 创建一个passwd 目录
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/ec231b312eb9a41367b638a8408716c4.png)
上面的提示没有影响
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/d4a3c6a43265a771847b29d573519153.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/920ff4c28978b438d8b223073d12015d.png)
上面所有图的意思就是把passwd的所有者设置为rsync 如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/25eaa76425587aa6d9a62f03881dde7a.png)
7.配置rsyncd.conf
POSIX风格的写法
这里要注意不能写成windows 风格的,不然会报错,开头是/cygdrive 后面是路径,并且是/ 这个/是linux风格而不是windows风格的
8.登陆密码的配置
前面是用户名admin 用冒号隔开后面是密码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/6ab931b8c02f858ea335ee9edc044f43.png)
9.启动rsync服务
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f352b705f78809ba32eaf759b6e67764.png)
10.服务端测试
如下图,显示成功
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f102f94402e0a600a2c0ea500ad4cbc9.png)
第一步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/c702bf3728e0ba3a389ac09ecdda9918.png)
2.第二步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/eebbd10b9af353c45566d9731bca21fb.png)
3.第三步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/6f86fa3620321b729a781c1a596cf8af.png)
4.客户端的安装位置就没有讲究了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f59ba0b53cdc5d6ba6711d2d3bfc8a47.png)
5.最后一步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/a5663d68e98a8b09879462d845f2835e.png)
6.测试和服务端的通信
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/775fbdf9b8a88a4da8c12a7d9b66a4b8.png)
出来下面这个图就对了,如果是跨机房,可能比较慢,要等一下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/bfbc3192732716a569101432f4bcdf43.png)
7.测试拉取数据
如下图,拉取成功
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/8671f0140e40dcf7d7bd25da315f0193.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 //端口
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/3d2f0d9ea9454778736c497c64b46ba8.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/5ebadb7c6e91d061d0f584c5a9e8ef92.png)
看server 端的日志如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/9e17946134025ebf9ec777a4f031f3e6.png)
8. 环境变量的设置和脚本的编写
编辑Path的时候要注意,;C:\rsync\cwRsync\bin 前面有个分号,然后关掉cmd窗口再打开就行了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/fcb36e8fd986a6fd8f659c30db500c89.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/8bbdc23bd127d10f906c21cab6a48f19.png)
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 加到计划任务即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/7be8693752269a82bf597a189269838b.png)
9 计划任务
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f1faf313eb4ce297adf4a7b4024d3ced.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的才行
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/2eee378c119e4f29cb5f4b102d06f0aa.png)
本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1714001
一.server 端的安装
1.先创建一个用户,这个用户只是用来启动rsync这个服务来用的![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/e48e386a46bf2dbf138d4f9229f8e69b.png)
2.这里指定新建的目录rsync-server
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/91924c1cfaa0d762f73023945d4c4397.png)
3.指定用户名和密码
这里的用户名和密码就是第一步里面创建的用于启动rsync服务的用户名
密码也是的,别弄错了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/dff8da899df8000c7299a2a1321a4abf.png)
4.安装结束
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/b5b72aaccda5375cf4bae08c31c826d1.png)
5.查看生成的目录
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/bd6471b58c78da21b3c494bbb89db0ce.png)
6.创建一个目录用户存放用户名和密码,并设置权限 创建一个passwd 目录
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/ec231b312eb9a41367b638a8408716c4.png)
上面的提示没有影响
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/d4a3c6a43265a771847b29d573519153.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/920ff4c28978b438d8b223073d12015d.png)
上面所有图的意思就是把passwd的所有者设置为rsync 如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/25eaa76425587aa6d9a62f03881dde7a.png)
7.配置rsyncd.conf
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/0path = /cygdrive/d/data_bak/IIS_bak/API
POSIX风格的写法
这里要注意不能写成windows 风格的,不然会报错,开头是/cygdrive 后面是路径,并且是/ 这个/是linux风格而不是windows风格的
8.登陆密码的配置
前面是用户名admin 用冒号隔开后面是密码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/6ab931b8c02f858ea335ee9edc044f43.png)
9.启动rsync服务
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f352b705f78809ba32eaf759b6e67764.png)
10.服务端测试
如下图,显示成功
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f102f94402e0a600a2c0ea500ad4cbc9.png)
二.客户端的安装
傻瓜式安装第一步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/c702bf3728e0ba3a389ac09ecdda9918.png)
2.第二步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/eebbd10b9af353c45566d9731bca21fb.png)
3.第三步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/6f86fa3620321b729a781c1a596cf8af.png)
4.客户端的安装位置就没有讲究了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f59ba0b53cdc5d6ba6711d2d3bfc8a47.png)
5.最后一步
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/a5663d68e98a8b09879462d845f2835e.png)
6.测试和服务端的通信
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/775fbdf9b8a88a4da8c12a7d9b66a4b8.png)
出来下面这个图就对了,如果是跨机房,可能比较慢,要等一下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/bfbc3192732716a569101432f4bcdf43.png)
7.测试拉取数据
如下图,拉取成功
C:\rsync\cwRsync\bin>rsync.exe -vzrtopg --progress --deleteadmin@42.96.168.171::pic /cygdrive/e/data --port=20790
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/8671f0140e40dcf7d7bd25da315f0193.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 //端口
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/3d2f0d9ea9454778736c497c64b46ba8.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/5ebadb7c6e91d061d0f584c5a9e8ef92.png)
看server 端的日志如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/9e17946134025ebf9ec777a4f031f3e6.png)
8. 环境变量的设置和脚本的编写
编辑Path的时候要注意,;C:\rsync\cwRsync\bin 前面有个分号,然后关掉cmd窗口再打开就行了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/fcb36e8fd986a6fd8f659c30db500c89.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/8bbdc23bd127d10f906c21cab6a48f19.png)
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 加到计划任务即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/7be8693752269a82bf597a189269838b.png)
9 计划任务
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/f1faf313eb4ce297adf4a7b4024d3ced.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的才行
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/17/2eee378c119e4f29cb5f4b102d06f0aa.png)
三.相关的参数
-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 显示帮助信息
本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1714001
相关文章推荐
- 获取某年某月的天数
- VirtualBox下Ubuntu上网设置,能够使用cuteftp传输资料
- Swift之UITableView的使用
- linux中stdout,stdin,stderr意义
- lookupedit
- skyline中点击读取属性信息
- 10款面向HTML5 画布(Canvas)的JavaScript库
- MongoDB——聚合 && 游标
- matlab代码注释技巧
- 读取 联系人
- 深入浅出Windows命令——telnet
- LeetCode() Search in Rotated Sorted Array
- Nginx 改变错误日志打印级别
- 如何成为更好的自己
- Swift之UITableView的使用
- 常用天气预报API接口整理(转)
- 删除线性表指定位置的元素(单链表实现)
- photoshop运用油漆桶工具填充图片局部颜色
- 【黑马程序员】OC-分类(Category)及延展(Extendsion)
- Android底部导航栏