服务器端:html
visualbox 虚拟机 Windows Server2008 192.168.1.178
客户端 :linux
visualbox 虚拟机 CentOS 6 ( CentOS 7 也是同样的) 192.168.1.184
目标:vim
将 Windows Server2008 伤的文件服务器目录自动同步到 CentOS 服务器上去
https://www.backupassist.com/rsync/ 选择 cwRsyncServer_4.1.0_Installer.zipwindows
预先创建一个不一样于 Administrator 的帐户 ,例如: dhbm ** 安装过程当中会自动建立一个帐号,并要求设置密码,可是,我第一次被 360 挡住以后,后续死活不成功 ** 我第一次测试成功就是直接使用了Administrator,并使用Administrator密码bash
安装过程基本上是一路回车,除了创建帐号以外,以下图: 这是安装程序自动创建的帐号, 服务器
我后续使用了以上系统帐号才正确的,以下图ssh
3. 安装完成后的信息以下: ** 建议不要使用她自动推荐的缺省目录,例如:我使用了 c:\rsync20190401 ** 若是一次不成功,下次再换个目录测试,例如:c:\rsync20190401-1
svn
若是第一次不成功,卸载的时候,要运行如下 3 个,最好是如下 1,2,3 的次序执行! 测试
找到并设置 Rsyncserver 自动运行 ui
** 安装的时候已经自动配置好了,如下 hosts allow 能够在实际运行的时候,指定客户端 ip
use chroot = false strict modes = false hosts allow = * log file = rsyncd.log # add by wzh 20190401 port = 873 #默认端口873 uid = 0 #不指定uid,不加这一行将没法使用任何帐户 gid = 0 #不指定gid max connections = 100 #最大链接数100 # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [test] path = /cygdrive/c/work read only = false transfer logging = yes # add by wzh 20190401 lock file = rsyncd.lock
** 以上配置了一个 测试模块 test ,后续能够照着 test 模块创建其余须要同步的模块
** 按照以上配置,先在 c:盘创建好一个work目录,并 copy 几个文件进去,用于测试
sudo yum -y install rsync
su 输入密码以后,以 root 运行
设置密码文件 假设刚才windows 上设置了用户 dhbm ,密码:XXXXXXXXXX123 实际请换成本身的密码
sudo echo "XXXXXXXXXX123" > /root/rsync_user.pwd sudo chmod 600 /root/rsync_user.pwd
创建一个对应服务器上刚才的 test 模块的 work 目录 (名字不必定也要叫work) mkdir /home/dhbm/work
测试 rsync 链接
rsync -avz --progress --delete --password-file=/root/rsync_user.pwd dhbm@192.168.1.178::test /home/dhbm/work 返回结果以下: dhbm@192.168.1.178::test /home/dhbm receiving incremental file list deleting .ssh/authorized_keys deleting .ssh/ deleting .viminfo deleting .bashrc deleting .bash_profile deleting .bash_logout deleting .bash_history ./ ......
错误处理 @ERROR: failed to open lock file rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]
参考 https://www.cnblogs.com/djane/articles/4618235.html 加上 lock file = rsyncd.lock
错误处理 @ERROR: Unknown module 'svndata' rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]
抄写别人的测试命令时,以上模块名字没有修改,记得改为本身在 windows 上设置的模块名字 test
8.错误处理 cwRsyncServer执行后服务界面找不到服务 ** 必须以管理员身份运行 ** 能够按照前面提到的 uninstall 1,2,3 卸载后,从新来过 ** 能够按照前面提到的,在安装到另外一个目录试试
建立 sh 文件 touch /root/rsync_data.sh chmod +x /root/rsync_data.sh vim /root/rsync_data.sh 内容以下:
#!/bin/bash USER="dhbm" PASS="/root/rsync_user.pwd" SOURCE="192.168.0.189::test" DEST="/home/dhbm/work" FILE="/root/rsync.log" CMD="/usr/bin/rsync" while true do $CMD -avz --bwlimit=512 --progress --delete --password-file=$PASS $USER@$SOURCE $DEST chown -R dhbm.dhbm /home/dhbm/work TIME="$(date "+%F %H:%M:%S")" if [ $? -eq 0 ];then echo "$TIME ---> rsync success" >> $FILE else echo "$TIME ---> rsync failed" >> $FILE fi sleep 20 done
执行 脚本 cd /root ./rsync_data.sh
再打开一个 Terminal ,看看是否已经同步了 windows 上的 c:/work 的文件
在 widnows 端,往 c:/work 拖入几个新文件,同时观察 Centos 这边是否当即同步过来
确认服务是否已经运行 ps -ef |grep rsync root 3846 3833 0 17:46 tty1 00:00:00 /bin/bash ./rsync_data.sh root 3847 3846 0 17:46 tty1 00:00:01 /usr/bin/rsync -avz --bwlimit=512 --progress --delete --password-file=/root/rsync_user.pwd dhbm@192.168.0.166::upload /home/dhbm/upload root 3848 3847 4 17:46 tty1 00:11:31 /usr/bin/rsync -avz --bwlimit=512 --progress --delete --password-file=/root/rsync_user.pwd dhbm@192.168.0.166::upload /home/dhbm/upload dhbm 4010 3990 0 22:31 pts/0 00:00:00 grep --color=auto rsync
六、Centos 上设置 rsync 服务自动运行