Jamers Posted September 25, 2015 Report Share Posted September 25, 2015 参考资料:https://download.samba.org/pub/rsync/rsync.html rsync是一个类unix系统下的数据镜像备份工具。远程同步 支持本地复制,或者与其他SSH、rsync主机同步。 安装: cd /usr/ports/net/rsync make install 配置rsyncd服务: ee /usr/local/etc/rsync/rsyncd.conf 以下是添加的节点: [demo] path = /home/jamers/demo/ ignore errors read only = false #list = false hosts allow = 192.168.1.78/24 hosts deny = 0.0.0.0/32 auth users = jamers secrets file = /home/jamers/rsync/rsyncd.pwd 在rc.conf中添加内容: rsyncd_enable="YES" 启动服务: service rsyncd start 服务端配置完成。 客户端可以通过两种方式进行调用: SSH模式,可以未配置rsyncd rsync -e "ssh" -avzP --delete [email protected]<script data-cfhash='f9e31' type="text/javascript"> /* */</script>:/home/jamers/demo/ /home/jamers/demo78 服务模式: rsync -avzrpcP --delete --force [email protected] /* */::demo /home/jamers/demo78 客户端脚本: ee /home/jamers/rsync/rsync.sh #!/bin/sh RSYNC=/usr/local/bin/rsync RUSER=jamers RPASS=/home/jamers/rsync/pwd RHOST=192.168.1.77 RPATH=:demo LPATH=/home/jamers/demo78/ $RSYNC -avzrpcP --delete --force --password-file=$RPASS $RUSER@$RHOST:$RPATH $LPATH 配置密码文件: echo password > /home/jamers/rsync/pwd chmod 600 /home/jamers/rsync/pwd chmod +x /home/jamers/rsync/rsync.sh 目前就可以使用rsync.sh同步服务器内容了。 后续增加实时同步等其它应用。 Link to comment Share on other sites More sharing options...
Jamers Posted September 25, 2015 Author Report Share Posted September 25, 2015 实时同步: 下载:https://github.com/rvoicilas/inotify-tools/wiki#getting http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz curl -O http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz tar zvxf inotify-tools-3.14.tar.gz cd inotify-tools-3.14 ./configure make make install 好象freebsd无法使用,,再议。。 Link to comment Share on other sites More sharing options...
Jamers Posted September 26, 2015 Author Report Share Posted September 26, 2015 双向同步: cd /usr/ports/net/unison make install clean 两边服务器上都安装好unison。 用这种方式进行同步: unison /usr/home/jamers/demo77/ ssh://jamers@192.168.1.78/demo78 unison -batch /usr/home/jamers/demo77/ ssh://jamers@192.168.1.78/demo78 SSH互相信任,免输密码,需要允许root登录: 分别在两台服务器上生成密钥,不要设置使用密码 mkdir -p /root/.ssh/ cd /root/.ssh/ ssh-keygen -t rsa #按三次回车即可 scp -P id_rsa.pub 192.168.1.78:/root/.ssh/authorized_keys #将生成的公钥复制到对方服务器 #请确认sshd_config里的设置 PermitRootLogin yes #如果有多个密钥请自行设置: AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 然后测试一下,是否需要输入密码,如果不需要了,就PASS ssh 192.168.1.78 继续使用unison同步测试: unison -batch /usr/home/jamers/demo77/ ssh://192.168.1.78//home/jamers/demo78 测试通过。 最终调整过后的调用示例: unison -batch -times -perms -1 -owner -group /usr/home/jamers/demo77/ ssh://192.168.1.78//home/jamers/demo78 -force /usr/home/jamers/demo77/ #-batch 自动操作 #-times 保持源文件时间同步 #-perms -1 保持源文件权限 #-owner 保持源文件所有人 #-group 保持源文件组 #-force xxx 单向同步 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now