-环境:Linux (ubuntu16.04) + windows10html
安装
sudo apt-get install rsync
rsync --version 查看是否已安装, 并查看版本linux
cd /etc mkdir rsyncd vi rsyncd.conf
#告诉进程写到 /var/run/rsyncd.pid 文件中 pid file = /var/run/rsyncd.pid lock file =/var/run/rsyncd.lock #日志文件 log file =/var/log/rsyncd.log log format = %t %a %m %f %b syslog facility = local3 #服务器响应消息文件 motd file = /etc/rsyncd/rsyncd.motd #指定运行端口,默认是873 port = 8877 #指定服务器IP地址 可不写默认本地 address = 192.168.56.102 #服务器端传输文件时,要发哪一个用户和用户组来执行,默认是nobody uid = root gid = root #若是"use chroot"指定为yes,那么rsync在传输文件之前首先chroot到path参数所指定的目录下。这样作的缘由是实现额外的安全防御,可是缺点是须要以root权限,而且不能备份指向外部的符号链接所指向的目录文件。默认状况下chroot值为yes use chroot = no #客户端最多链接数 max connections = 5 exclude = lost+found/ transfer logging = yes timeout = 900 ignore nonreadable = yes dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 #要同步的模块(可写多个,并设置不一样用户) [test_data] #指定文件目录所在路径 path = /home/test #list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。若是你不想列出来,就no ;若是是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你本身知道就好了 list=no #指定在 rsync 服务器上运行 delete 操做时是否忽略 I/O 错误。通常来讲 rsync 在出现 I/O 错误时将将跳过 –delete 操做,以防止由于暂时的资源不足或其它 I/O 错误致使的严重问题。 ignore errors #若是为yes,表示只读本地文件就没法同步到服务器 read only = no #容许链接的ip,在演示中使用的云服务器就直接写*,表示无限制 若是要规定ip或者ip段(10.1.4.0/255.255.255.0)须要进行其余配置 hosts allow=10.1.4.0/255.255.255.0 #hosts deny=* #auth users 是必须在服务器上存在的真实的系统用户,若是你想用多个用户,那就以,号隔开 auth users = root #密码存在rsyncd.passwd文件里 secrets file = /etc/rsyncd/rsyncd.secrets
2.2 配置rsyncd.secrets文件
文件内容 username:password
文件必须设置为只有全部者可读写权限 600
chmod 600 ./rsyncd.secrets
若是所属用户不是root 用chown修改
chown -R root ./rsyncd.secretsgit
++++++++++++++++++++++++++++++++++++++ welcome to rsync. ++++++++++++++++++++++++++++++++++++++
3.3 检查是否启动
ps -aux | grep rsyncgithub
检查是否启动端口监听:
netstat -anp | grep rsyncspring
windows客户端下载 提取码:fg6hshell
注意: 密码文件目录, 本地目录要用POSIX风格的写法:
/cygdrive/f/cwRsync/rsyncd.pwd f表示F:盘ubuntu
安装cwRsync windows客户端windows
配置环境变量 cwRsync/bin --> path安全
在cwRsync目录下建 密码文件 rsyncd.pwd (保证文件只有全部者可读写600权限)bash
内容: 只写密码便可
测试拉取服务器数据到本地(前提 步骤1须要配置 在终端任何目录方可运行):
rsync --port=8873 -avzP root@192.168.56.102::test_data /cygdrive/d/data --password-file=/cygdrive/f/cwRsync/rsyncd.pwd
① ERROR: password file must not be other-accessible
服务器跟客户端两边的密码文件都必须是 600 权限
windows10: 修改文件权限为可读写, 所属用户只有当前登陆用户
查看当前用户(推荐使用cmder终端):
λ whoami desktop-2018whj\lenovo λ echo %username% Lenovo
# 使用cwRsync提供的工具 chomd.exe -c 600 /cygdrive/f/cwRsync_15110/rsync.pwd chown.exe Lenovo /cygdrive/cwRsync_15110/rsync.pwd
若是文件权限不可修改(windows10), 使用一下方法解决
经过文件右键查看属性--> 安全 --> 查看用户权限