• Linux服务器rsync自动备份


    一、在 server 端配置

    1. 编辑配置文件

    #vi /etc/rsyncd.conf

    添加下面的配置参数:

    uid = nobody                           # 该选项指定当该模块传输文件时守护进程应该具有的uid.默认值为”nobody”. 
    gid = nobody                           # 该选项指定当该模块传输文件时守护进程应该具有的gid.默认值为”nobody”. 
    max connections = 4                    # 最大连接数为4 
    use chroot = no                        # 不使用chroot 
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    hosts allow = 192.168.100.1            # 哪些电脑可以访问rsync服务 
    #hosts deny = 192.168.100.0/24         # 哪些电脑不可以访问rsync服务 
    
    [mysqlbackup]                          # rsync区段的设定名称
    path = /zsjdata/mysql/data             # 需要同步的数据存放路径
    comment = mysql backup folder          # 注释
    auth users = root                      # 指定用户 
    ignore errors                          # 忽略错误
    read only = yes                        # 只读
    list = no                              # 不能列表
    auth users = root                      # 连接rsync服务的帐号
    secrets file = /etc/rsyncd.pwd         # 指定存放帐号密码的位置

    2. 在server端生成一个密码文件 /etc/rsyncd.pwd

    # echo root:xxx >> /etc/rsyncd.pwd
    # chmod 600 /etc/rsyncd.pwd
    

    3. 启动 rsync 守护进程方式启动

    #rsync --daemon 

    4. 添加到自启动文件

    #echo "rsync --daemon" >> /etc/rc.d/rc.local

    5. 检查 rsync 默认使用的是873端口,除非特殊情况,一般不要去修改

    #netstat -na | grep 873
    
    tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 
    
    tcp 0 0 :::873 :::* LISTEN 

    二、客户端配置:

    1. 在本机生产密码文件 rsync服务器 root 帐号密码(注:只要密码)

    #echo XXX >> /etc/rsyncd.pwd
    #chmod 600 /etc/rsyncd.pwd


    2. 测试备份命令

    客户端备份服务器上指定模块中的数据 备份rsync服务器上postfix中模块指定文件夹,并删除本地服务器上没有的内容

    #rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@192.168.100.2::mysqlbackup /data/mysql

    # -v, -verbose 详细模式输出

    # -z, -compress 对备份的文件在传输时进行压缩处理

    # -r, -recursive 对子目录以递归模式处理

    # -t, -times 保持文件时间信息

    # -o, -owner 保持文件属主信息

    # -p, -perms 保持文件权限

    # -g, -group 保持文件属组信息

    # --progress 显示传输进度

    # --delete 删除本地备份目录中服务器模块指定目录中没有的文件

    # --password-file 从指定文件中得到密码


    3. 制定计划任务

    #crontab -e 
    
    0 0 * * * rsync -vzrtopg --delete --password-file=/etc/rsyncd.pwd root@192.168.100.2::mysqlbackup /data/mysql > /dev/null 2>&1

    本来是想给自己两台服务器做个简单的双机数据库自动备份,一台服务器在美国百兆共享,一台在国内5兆独享,结果测试是没问题成功了,但这个速度实在太让人蛋疼了,才20KB。。

    编辑的时候,请注意参数前面的 短横杠

  • 相关阅读:
    【oracle】 DDL,DML,DCL区别
    【python】模块初识之random模块
    【python】模块初识之re模块
    【python】模块初识之time模块
    【python】属性和类方法
    【python】面向对象初识之封装
    【python】面向对象初识之多态
    【python】面向对象初识之继承
    【python】面向对象初识
    【python】二分查找
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758532.html
Copyright © 2020-2023  润新知