暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

rsync的同步拉取使用

680

条件

两台机器的指定目录,这里以/usr/local/nginx/html/为例
被同步的机器(服务端):192.168.10.105
拉取数据的机器(客户端):192.168.10.106

安装

yum install -y rsync

拉取同步,定时

  • 配置105服务器并启动

    #操作配置文件 vim /etc/rsyncd.conf
    # See rsyncd.conf man page for more options.
    
    # configuration example:
    
    # uid = nobody
    # gid = nobody
    # use chroot = yes
    # max connections = 4
    # pid file = /var/run/rsyncd.pid
    # exclude = lost+found/
    # transfer logging = yes
    # timeout = 900
    # ignore nonreadable = yes
    # dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
    
    #rsync安全验证
    auth users=admin
    secrets file=/etc/rsyncd.pwd
    
    #服务名
    [ftp]
    	#被监听同步的目录
      	path = /usr/local/nginx/html/
    
    #/etc/rsyncd.pwd的内容,用户名:密码 admin:123
    #将/etc/rsyncd.pwd文件降权 chmod 600 /etc/rsyncd.pwd #启动rsync后台进程 rsync --daemon
  • 操作106同步数据

    #配置一个客户端密码文件 /etc/rsyncd.pwd.client 内容就是密码 123456
    #修改密码文件权限 chmod 600 /etc/rsyncd.pwd.client #查看105对应服务目录下的文件列表,不加file配置,输入密码123456 rsync --list-only --password-file=/etc/rsyncd.pwd.client admin@192.168.10.105::ftp/ #增量同步命令,输入密码123456 rsync -avz --password-file=/etc/rsyncd.pwd.client admin@192.168.10.105::ftp/ /usr/local/nginx/html/ #完全同步,删除了命令也会同步删除 rsync -avz --delete --password-file=/etc/rsyncd.pwd.client admin@192.168.10.105::ftp/ /usr/local/nginx/html/
  • 如果不需要用户密码验证,去掉服务端和客户端中的验证相关的配置和文件即可,客户端命令变化一下

    rsync --list-only 192.168.10.105::ftp/ rsync -avz 192.168.10.105::ftp/ /usr/local/nginx/html/

推送同步,实时

  • 106服务器接收,启动rsync后台进程

    配置流程和上面拉取同步配置105一样,些许不一样

    # See rsyncd.conf man page for more options. # configuration example: #如果使用其他用户和组得修改同步目录得权限 uid = root gid = root # use chroot = yes # max connections = 4 # pid file = /var/run/rsyncd.pid # exclude = lost+found/ # transfer logging = yes # timeout = 900 # ignore nonreadable = yes # dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 #rsync安全验证 auth users=admin secrets file=/etc/rsyncd.pwd #关掉默认只读,允许外部提交文件 read only=no #服务名 [ftp] #被监听同步的目录 path = /usr/local/nginx/html/
  • 105作为客户端执行命令

    #查看106指定ftp服务目录文件列表 rsync --list-only --password-file=/etc/rsyncd.pwd.client admin@192.168.10.106::ftp/ #将105指定文件夹推送到ftp服务目录 rsync -avz --password-file=/etc/rsyncd.pwd.client /usr/local/nginx/html/ admin@192.168.10.106::ftp/ rsync -avz --delete --password-file=/etc/rsyncd.pwd.client /usr/local/nginx/html/ admin@192.168.10.106::ftp/

使用inotify-tool监控

  • 安装

    #先装一下自动编译工具 yum install -y automake #下载安装包解压 tar -zxvf inotify-tools-3.22.6.0.tar.gz #进入源文件目录,这一步依赖上面的工具 ./autogen.sh #这里如果出现缺少依赖的需要自己安装一下 ./configure --prefix=/usr/local/inotify/ #最后,分开执行也可 make && make install
  • 客户端105服务器使用脚本,简单实验

    #创建一个sh vim /root/inotify_auto.sh chmod +x /root/inotify_auto.sh
    #!/bin/bash #脚本内容 nohup /usr/local/inotify/bin/inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move /usr/local/nginx/html/ | while read file do rsync -avz --delete --password-file=/etc/rsyncd.pwd.client /usr/local/nginx/html/ admin@192.168.10.106::ftp/ done
    #后台进程启动脚本,启动完之后可以在105上操作监控的目录下的文件,106的文件会自动实时同步,也可以看一下日志 nohup /root/inotify_auto.sh >/root/inotify.log 2>&1 &
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论