zoukankan      html  css  js  c++  java
  • SuSe11 inotify+rsync 实现文件实时同步


    linux suse rsync 同步操作

    配置完成rsync后开始 rsync 服务 停止 stop 重启 restart
    service rsyncd start

    参考博客地址:https://www.jianshu.com/p/bab26e046c2f https://www.jb51.net/article/41417.htm https://blog.csdn.net/qq_36031499/article/details/54315466

    产生文件服务 101.9.101.111 同步到服务器101.9.101.119
    101.9.101.119 rsync 配置
    配置 vi /etc/rsyncd.conf
    gid = root
    uid = root
    use chroot = no
    max connections = 200
    timeout = 300
    strict modes = yes
    hosts allow = 101.9.101.111
    port = 873
    transfer logging = true
    log format = %h %o %f %l %b
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid


    [media]
    path = /smart/cms/media
    ignore errors = yes
    read only = false
    list = false
    auth users = root
    secrets file = /etc/rsyncd.secrets

    创建密码本
    vi /etc/rsyncd.secrets
    root:123456
    给权限
    chmod 600 /etc/rsyncd.secrets

    启动或者重启rsync 服务


    101.9.101.111 rsync配置
    配置 vi /etc/rsyncd.conf
    gid = root
    uid = root
    use chroot = no
    max connections = 200
    timeout = 300
    strict modes = yes
    hosts allow = 101.9.101.119
    port = 873
    transfer logging = true
    log format = %h %o %f %l %b
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid

    [media]
    path = /smart/cms/media/
    ignore errors = yes
    read only = false
    list = false
    auth users = root
    secrets file = /etc/rsyncd.secrets

    创建密码本
    vi /etc/rsyncd.secrets
    root:123456
    给权限
    chmod 600 /etc/rsyncd.secrets

    启动或者重启rsync 服务

    rsync 配置完成
    使用命令 在11上
    rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd /home/rsynctest/ root@101.9.101.113::media

    suse 11 中的 rsyncd.secrets 如果当作密码本会一直出现报错,要手动创建密码本 rsyncd.passwd
    在 /etc/ 创建 rsyncd.passwd 内容 客户端直接写密码 123456 服务端要写用户名和密码:rsync:123456


    rsync 相关日志查看 /var/log/rsyncd.log

    rsync + inotify

    下载 inotify 地址:https://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz
    tar -zxf inotify-tools-3.13.tar.gz
    安装
    ./configure --prefix=/usr/local/inotify
    make && make install

    编写 inotify_rsync.sh 脚本 要放在需要同步文件的目录下
    #!/bin/bash
    host=101.9.101.113
    src=/home/rsynctest/
    des=media
    user=root

    /home/inotify-tools-3.13/src/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
    do
    /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd $src $user@$host::$des
    #--password-file=/etc/rsyncd.passwd
    # rsync -vzrtopg --delete --progress /home/rsynctest/ root@101.9.101.113::media
    echo "${files} wa rsynced" >>/var/log/rsync.log 2>&1
    done
    修改脚本权限
    chmod 764 inotify_rsync.sh
    启动
    sh inotify_rsync.sh &
    查看
    ps -ef | grep inotify
    停止 kill -9 脚本运行的PID

    注意: src=/home/rsynctest/ 命令或者 脚本本 最后带 / 和 不带/ 有区别
    带 / 同步的是rsynctest目录下的文件,不会创建rsynctets目录,需要有rsynctest 目录
    不带 / 同步 rsynctest 这个目录 过去

  • 相关阅读:
    存储函数
    Laravel的请求声明周期
    哪只猴子可以当大王
    有多少苹果用来分赃
    SqlDataAdapter使用小结
    主键与外键
    SQL server 操作相关
    C# 窗体相关知识
    C#中winform DataGridView常用修改点
    maven 坐标获取方式
  • 原文地址:https://www.cnblogs.com/Smoredemo/p/11214324.html
Copyright © 2011-2022 走看看