zoukankan      html  css  js  c++  java
  • Linux使用rsync客户端与服务端同步目录进行备份

    一、服务端设置

    1. 修改 server 端配置

    # 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 = 28.16.67.10            # 哪些客户端IP可以访问rsync服务
    #hosts deny = 192.168.100.0/24         # 哪些IP不可以访问rsync服务  0/24 代表 192.168.100 该IP段

    添加一个自定义的同步模块配置:

    [mysqlbackup]                          # rsync同步模块的设定名称
    path = /mydata/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. 服务端生成密码文件

    # echo root:123456 >> /etc/rsyncd.pwd

    配置文件权限,仅允许 root 使用:

    # 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 123456 >> /etc/rsyncd.pwd
    # chmod 600 /etc/rsyncd.pwd

    2. 指定客户端目录与服务端指定的rsync模块配置的目录同步,并删除客户端存在而服务端不存在的目录或文件

    # rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::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@24.12.36.55::mysqlbackup /data/backup/mysql > /dev/null 2>&1


  • 相关阅读:
    面试官本拿求素数搞我,但被我用素数筛优雅的“回击“了
    手写玩具
    【LeetCode】5638.吃苹果的最大数目
    【LeetCode】290.单词规律(双映射)
    【LeetCode】42.接雨水
    【LeetCode】84.柱状图中最大的矩形
    【LeetCode】135.分发糖果
    【Leetcode】746.使用最小花费爬楼梯
    【LeetCode】316.去除重复字母
    【LeetCode】三题解决常见异或运算题
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758489.html
Copyright © 2011-2022 走看看