美文网首页
Rsync自动同步压缩日志文件至备份服务器

Rsync自动同步压缩日志文件至备份服务器

作者: Big_dimple | 来源:发表于2017-12-11 17:41 被阅读241次

    业务场景:

    公司的业务日志量很大,需要经常压缩日志并上传至归档服务器。所以写了脚本自动上传业务日志。由于ftp容易中断,所以使用rsync可进行断点续传。

    rsync安装配置

    1.在日志归档服务器上安装server端
        可以直接yum安装,但是如果是想定制使用,建议编译安装,到时候服务器磁盘满了,
        需要换服务器的时候直接把编译好的目录打包带走直接就能用了,免去二次安装的麻烦。
        命令如下:
        wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
        tar -zxvf rsync-3.1.2.tar.gz
        cd rsync-3.1.2
        mkdir -p /opt/rsync
        ./configure --prefix=/opt/rsync
        make && make
        至此安装完毕,rsync就安装到你的/opt/rsync目录下了。
    
    2.配置rsync
        rsync的配置文件是要自己配置的,以及以一些提示文件等都要手动创建。这里为了方便统一,我在rsync程序目录下以conf文件夹作为配置目录。
        mkdir -p /opt/rsync/conf  \
        mkdir -p /opt/rsync/log \
        cd /opt/rsync/conf \
        touch rsync.conf \
        touch rsyncd.motd \
        touch rsync.pass
        文件创建完了,开始编辑rsync.conf文件
        vim /opt/rsync/conf/rsync.conf  
    
    rsync.conf文件例子
        pid file = /opt/rsync/conf/rsync.pid   ###定义pid文件
        lock file=/opt/rsync/conf/rsync.lock   
        port = 8730          ###自定义端口,默认为873,建议修改其他成端口
        uid = ftp               ###定义文件上传后的属主
        gid = ftp               ###定义文件上传后的属组
        use chroot = no
        max connections = 10    ###定义最大连接数
        motd file = /opt/rsync/conf/rsyncd.motd    ##定义传输后提示文字,可以自己随意编辑此文件中的文字。
        log file = /opt/rsync/log/rsync.log   ###定义日志目录,方便排错
    
        [Test]    ###定义模块名称
        path = /data/backup/Test    ##定义此模块目录
        list = yes
        auth users = dimple        ##定义上传用户
        read only = no                ##定义文件夹不是只读
        write only = no               ##定义文件夹不是只写
        ignore errors
        secrets file = /opt/rsync/conf/rsync.pass    ##定义密码认证文件,后面详细说
    
    例子中注释方便大家理解,复制上去后可以删除。如果你需要更强大的功能可以去查看官方文档。rsync模块真的很好用,可以根据不同的业务线自己定制需求。
        编辑rsyncd.motd文件
        此文件只是用于显示客户端链接rsync服务端成功后的提示信息,可以随意设置,此处就不举例子了。
        编辑rsyncd.pass
        vim /opt/rsync/conf/rsync.pass
        这个文件是密钥文件,服务端需要在模块里定义不同的密钥文件,也可以全局定义。
        格式为:  user:pass
        例子:haha:123456
        注意:客户端如果需要用密钥文件免输入密码传输文件,则只需要在文件中写入密码即可,无需用名
        例如:客户端文件为/opt/rsync.pass,则文件内容为123456即可。
    
    启动rsync
        启动rsync命令,建议加上-daemon守护模式启动,然后指定配置文件
        /opt/rsync/bin/rsync --daemon --config  /opt/rsync/conf/rsync.conf 
    

    2.客户端上传文件测试

        客户端上传文件,建议写脚本上传,然后定义秘钥文件,可以免密码输入操作,放在定时任务中最好,可以定时备份日志。
        rsync上传总共有6种模式,大家有兴趣可以看看
        这里我用的指定模块上传的方式,加了一些特定的参数,制定了端口和秘钥文件。
        rsync -rlpvDR --port=8730 --bwlimit=30000 --password-file=/opt/rsync.pass test.txt haha@rsync_ip::Test
        目前已经在生产服务器上用脚本调用rsync大规模归档备份日志,rsync支持断点续传,如果中断的话再传一次就可以了。
        而且还有校验MD5的功能用起来很方便。
    

    相关文章

      网友评论

          本文标题:Rsync自动同步压缩日志文件至备份服务器

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