设为首页 收藏本站
查看: 497|回复: 0

[经验分享] rsync 远程同步 linux 及 windows 主机

[复制链接]

尚未签到

发表于 2018-6-12 09:12:41 | 显示全部楼层 |阅读模式
  一、前言
  1、rsync原理及rsync+inotify触发同步
      可以配置SSH信任,做信任后,同步就不需要密码文件了

      http://nmshuishui.blog.51cto.com/1850554/1387048
  2、本篇说明
      为了保证数据的绝对可靠性:
      首先,所有的服务器的数据都用脚本打包备份在本地一份,如上篇博客

      其次,单独拿出一台pc机做备份机,为rsync客户端,每天定时却拉取各rsync服务器备份好的数据包

      再次,使用rsync同步 linux 及 windows 服务器

  3、服务器说明
      rsync服务器:192.168.200.16,192.168.200.18

      rsync客户端:192.168.1.186

      这三台服务器都是linux,rsync同步windows服务器到linux服务器在第四条

  二、部署rsync服务端
1、 禅道服务器(192.168.200.16)
(1)安装超级守护进程
#yum –y install xinetd  (2)为rsync服务提供配置文件
#vim /etc/rsyncd.conf#Global Settings        
uid = nobody
gid = nobody
use chroot = no
max connections = 5
timeout = 600
pid file = /var/run/rsyncd.pid
lockfile = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
#module
[chandao]
path = /opt/backup/
ignore errors = yes
read only = no
write only = no
hosts allow = *
hosts deny = *
list = yes
uid = root
gid = root
auth users = dianyi
secrets file = /etc/chandao.passwd  (3)配置rsync认证文件/etc/chandao.passwd
[root@chandao ~]#echo “dianyi:dianyi” > /etc/chandao.passwd        
[root@chandao ~]#cat /etc/chandao.passwd
dianyi:dianyi  (4)修改/etc/chandao.passwd的权限为600

[root@chandao ~]#chmod 600 /etc/chandao.passwd
[root@chandao ~]# ll /etc/chandao.passwd
-rw------- 1 root root 14 Jul 29 18:18 /etc/chandao.passwd  (5)配置服务启动

[root@chandao ~]# chkconfig rsync on
[root@chandao ~]# service xinetd start  (6)检查873端口是否成功监听

[root@chandao ~]# ss -antlp | grep 873  (7)检查rsync运行状态

[root@chandao ~]# chkconfig --list   2、禅道数据库服务器(192.168.200.18)
(1)安装超级守护进程

#yum –y install xinetd  (2)为rsync服务提供配置文件

#vim /etc/rsyncd.conf#Global Settings
uid = nobody
gid = nobody
use chroot = no
max connections = 5
timeout = 600
pid file = /var/run/rsyncd.pid
lockfile = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
#module
[db_chandao]
path = /opt/backup/
ignore errors = yes
read only = no
write only = no
hosts allow = *
hosts deny = *
list = yes
uid = root
gid = root
auth users = dianyi
secrets file = /etc/db_chandao.passwd  (3)配置rsync认证文件/etc/db_chandao.passwd

[root@DBSlave ~]#echo “dianyi:dianyi” > /etc/db_chandao.passwd
[root@DBSlave ~]#cat /etc/db_chandao.passwd
dianyi:dianyi  (4)修改/etc/db_chandao.passwd 的权限为600

[root@DBSlave ~]#chmod 600 /etc/db_chandao.passwd
[root@DBSlave ~]# ll /etc/db_chandao.passwd
-rw------- 1 root root 14 Jul 29 18:18 /etc/db_chandao.passwd  (5)配置服务启动

[root@DBSlave ~]# chkconfig rsync on
[root@DBSlave ~]# service xinetd start  (6)检查873端口是否成功监听

[root@DBSlave ~]# ss -antlp | grep 873  (7)检查rsync运行状态

[root@DBSlave ~]# chkconfig --list  三、部署rsync客户端(192.168.1.186)
1、设置rsync客户端的密码文件
(1)禅道的密码文件

[root@backup ~]#echo dianyi > /etc/chandao.passwd
[root@backup ~]# cat /etc/chandao.passwd
dianyi  (2)禅道数据库的密码文件

[root@backup ~]#echo dianyi > /etc/db_chandao.passwd
[root@backup ~]# cat /etc/db_chandao.passwd
dianyi  2、修改密码文件的的权限为600

[root@backup ~]# chmod 600 /etc/chandao.passwd
[root@backup ~]# chmod 600 /etc/db_chandao.passwd
[root@backup ~]# ll /etc/chandao.passwd /etc/db_chandao.passwd
-rw------- 1 root root 7 Jul 29 17:17 /etc/chandao.passwd
-rw------- 1 root root 7 Jul 29 16:19 /etc/db_chandao.passwd  3、测试rsync客户端是否可以从rsync服务器拉成功

[root@backup ~]# rsync -vzrtopg --password-file=/etc/chandao.passwd dianyi@192.168.200.16::chandao/* /tmp  4、rsync同步脚本

#!/bin/bash
#func:rsync for chandao
#Date:first write on 2014.7.29
#Version:v1.0
ntpdate 192.168.200.16 > /dev/null 2>&1
date=`date +%Y-%m-%d`
dest_chandao=/opt/backup/chandao/zentao
dest_db=/opt/backup/chandao/db_chandao
remote_chandao=192.168.200.16
remote_db=192.168.200.18
module_chandao=chandao
module_db=db_chandao
user1=13910892224@139.com
user2=15048088251@139.com
main(){
     rsync -vzrtopg --password-file=/etc/chandao.passwd dianyi@$remote_chandao::$module_chandao/*$date* $dest_chandao
     if [ $? -eq 0 ];then
         echo "chandao-*$date* was rsynced" >>  /opt/log/chandao_rsync.log 2>&1;
     else
         echo "chandao-*$date* was not rsynced" >>  /opt/log/chandao_rsync.log 2>&1;
         echo "Chandao rsync was faild " | mail -s "chandao backup" $user2;
     fi
     rsync -vzrtopg --password-file=/etc/db_chandao.passwd dianyi@$remote_db::$module_db/*$date* $dest_db
     if [ $? -eq 0 ];then
         echo "db_chandao_*$date* was rsynced" >>  /opt/log/chandao_rsync.log 2>&1;
     else
         echo "db_chandao_*$date* was not rsynced" >>  /opt/log/chandao_rsync.log 2>&1;
         echo "db_chandao rsync was faild " | mail -s "chandao backup" $user2;
     fi
}
main  四、定时任务

[root@backup ~]# crontab -e
##rsync for chandao
20 09 * * * /bin/sh /opt/scripts/rs_chandao.sh  五、同步windows数据到linux备份机上
     主体思想还是和linux保持一致的
          rsync服务器需要配置2个方面:(1)配置文件 (2)密码文件
          接下来就是rsync客户端配置:     (1)密码文件 (2)权限设为600
1、下载cwrsync server
    安装时,设置的用户和密码均为dianyi,即两台机器使用rsync相互通信时会使用到的用户名和密码
2、在这台windows上配置rsync服务器,远程linux做为rsync的客户端来拉取windows服务器上的文件
(1)修改配置文件
     在C:\Program Files (x86)\ICW\rsyncd.conf 添加模块

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[svn]
path = /cygdrive/e/Repositories    #e代表e盘
ignore errors = yes
read only = no
transfer logging = yes
write only = no
hosts allow = *
hosts deny = *
list = yes
uid = 0           #这里的udi和gid不再是root或是nobody,而应该是0,如果不填会报会报:@ERROR: invalid uid nobody
gid = 0
auth users = dianyi
secrets file = etc/svn.passwd  (2)创建密码文件
       在C:\Program Files (x86)\ICW\etc中创建密码文件svn.passwd
       内容为     dianyi:dianyi
(3)启动rsync服务
       运行 --> services.msc --> RsyncServer 启动类型:自动
(4)查看873端口是否监听成功
       运行 --> cmd --> netstat -ano
  (5)在防火墙中开放tcp 873端口
3、配置rsync客户端(remote linux:192.168.1.186)
(1)创建密码认证文件
vim /etc/svn.passwd
dianyi  (2)设置权限

chmod 600 /etc/svn.passwd  (3)测试

# rsync -vzrtopg --password-file=/etc/svn.passwd dianyi@192.168.1.64::svn/* /opt/111/      上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数
  5、把命令添加到脚本

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-522552-1-1.html 上篇帖子: Windows PowerShell:(1)简介及安装过程 下篇帖子: windows server 2012 dhcp 配置故障转移
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表