美文网首页
Rsync同步

Rsync同步

作者: 阿尔卡雷特 | 来源:发表于2021-04-01 17:50 被阅读0次

    实现rsync文件同步,且不需要手工输入密码,思路如下
    测试环境:
    服务端:Centos7
    客户端:MacOS 10.15.7

    1、配置服务器端需要将rsync程序以 daemon 模式运行

    1,编辑同步配置文件

    vim /etc/rsyncd.conf
    

    写入以下内容:

    uid = root
    gid = root
    port = 873
    read only = no
    # 允许访问的客户端ip,多个用逗号分隔
    hosts allow = 222.128.9.86
    
    # 运行同步的模块,可配置多个
    [epwxWork]
           comment = this is module for backup    
           path = /usr/local/src/
           auth users = root
           secrets file = /etc/rsyncd.pass
    
    

    2,创建密码文件

    vim /etc/rsyncd.pass
    

    写入以下内容(格式为用户名:密码,用户名与模块的auth users相同):

    root:eplugger123
    

    设置密码文件权限(必须做)

    chmod 600 /etc/rsyncd.pass
    

    3,查看当前rsync进程,杀掉并重启启动。

    ps -ef|grep rsync  |grep -v grep
    kill 进程号
    rsync  --daemon
    #再次查看是否已运行
    ps -ef|grep rsync  |grep -v grep
    

    4,添加防火墙服务端口

    firewall-cmd --permanent --zone=public --add-service=rsyncd
    systemctl restart firewalld.service
    # 确认已启用
    firewall-cmd --list-all
    

    2、客户机

    1,创建密码文件rsyncd.pass(为了免手工输入密码)
    /路径/rsyncd.pass
    写入密码(无用户名),密码与服务端配置相同

    设置密码文件权限(必须做)

    chmod 600 /路径/rsyncd.pass
    

    2,执行同步

    # 其中 epwxWork 为模块名
    # 其中 root 与服务端的用户名配置相同
    rsync -rltzuq --delete --exclude='.*' 本地路径 root@服务端ip::epwxWork --password-file=/路径/rsyncd.pass
    

    如果没有很多模块,也可设置全局rsync密码,这样就不需要创建密码文件了,也不需要--password-file参数了:

    export  RSYNC_PASSWORD=密码
    

    取消环境变量:

    unset   RSYNC_PASSWORD
    

    相关文章

      网友评论

          本文标题:Rsync同步

          本文链接:https://www.haomeiwen.com/subject/scatkltx.html