美文网首页
centos下使用rsync+crontab实现文件资源定时同步

centos下使用rsync+crontab实现文件资源定时同步

作者: 安小龙 | 来源:发表于2017-09-20 16:53 被阅读0次

    做了负载均衡的服务器上,经常有多个中间件需要文件资源同步的需要。理想的同步过程应该是,不同步相同的部分,将源服务器上有差异的部分同步到客户服务器上,并删除客户服务器上和源服务器不相同的内容,并定期执行。本文使用rsync+crontab实现。

    第一步:rpm包安装rsync和crontab

    检查是否安装了包.png

    如果没有安装对应的包,下载对应的rpm包,使用命令:rpm -ivh XXX.rpm安装。

    安装对应的rpm包.png

    本文使用的是centos6.5,centos下rsync默认是在xinetd下启动,所以需要安装xinetd,方法同上。

    xinetd包也需要安装.png

    安装完成之后使用命令:service xinetd start启动rsync服务

    启动xinetd服务.png

    第二步:在有文件源的服务器上配置rsync服务

    # 创建rsync服务目录
    mkdir /etc/rsyncd
    # 创建配置文件
    touch /etc/rsyncd/rsyncd.conf
    # 创建密码文件
    touch /etc/rsyncd/rsyncd.secrets 
    #权限修改(一定要修改为以下权限)
    chown root:root /etc/rsyncd/rsyncd.secrets
    chmod 600 /etc/rsyncd/rsyncd.secrets
    

    rsyncd.conf配置如下(直接复制过去修改):

    # GLOBAL OPTIONS
    uid = root
    gid = root
    
    use chroot = no
    
    read only = yes
    
    #limit access to private LANs
    hosts allow=10.10.19.74
    hosts deny=
    max connections = 5
    
    pid file = /var/run/rsyncd.pid
    
    secrets file = /etc/rsyncd/rsyncd.secrets
    #lock file = /var/run/rsync.lock           
    
    #motd file = /etc/rsyncd/rsyncd.motd        
    
    #This will give you a separate log file
    #log file = /var/log/rsync.log               
    
    #This will log every file transferred - up to 85,000+ per user, per sync
    transfer logging = yes
    
    log format = %t %a %m %f %b
    syslog facility = local3
    timeout = 300
    
    # MODULE OPTIONS
    [uploadhome]
    path = /home/kevin/tomcat_upload/tomcat_upload/webapps/uploadServer/upload
    list=yes
    ignore errors
    auth users = anxiaolong
    comment = upload home
    exclude = important/
    
    rsync配置文件1.png rsync配置文件2.png

    rsyncd.secrets文件里面写用户名和密码,格式为XXX:XXX

    密码文件内容.png

    配置好之后重启下xinetd服务,命令:service xinetd restart

    第三步:配置目标服务器上的rsync

    目标服务器是作为客户端下载服务端的资源,只需要安装rsync包和xinetd包即可,安装完成之后启动xinetd服务即可。

    rsync客户端配置.png

    在/tmp目录下使用vim新建两个文件,rsync.passwd需要有读写的权限,rsync需要有执行的权限。

    tmp下文件.png

    把客户端同步文件的命令写到rsync.sh中:rsync -avzP --delete --password-file=/tmp/rsyncd.passwd anxiaolong@10.10.19.73::uploadhome /home/kevin/tomcat_upload/tomcat_upload/webapps/uploadServer/upload

    脚本内容.png

    把密码写到rsync.passwd中

    密码内容.png

    执行脚本就可以同步

    脚本执行效果.png

    第四步:将同步的脚本添加到crontab定期执行(本文设置为5分钟同步一次)

    下再crontab的rpm包安装上

    安装crontab.png

    启动crontab服务

    启动crontab服务.png

    在crontab配置下添加定期执行命令

    每5分钟执行一次配置.png

    修改保存后,重启crontab服务

    启动crontab服务.png

    针对crontab的定期执行参照下图

    crontab配置说明.png

    相关文章

      网友评论

          本文标题:centos下使用rsync+crontab实现文件资源定时同步

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