zoukankan      html  css  js  c++  java
  • rsync备份

    一.服务端设置

    安装rsync服务

    [root@backup ~]# yum install -y rsync
    

    修改配置文件

    [root@backup ~]# vim /etc/rsyncd.conf
    ## 指定进程启动uid
    uid = rsync
    ## 指定进程启动gid
    gid = rsync
    ## rsync服务的端口
    port = 873
    ## 无需让rsync以root身份运行,允许接收文件的完整属性
    fake super = yes
    ## 禁锢指定的目录
    use chroot = no
    ## 最大连接数
    max connections = 200
    ## 超时时间
    timeout = 600
    ## 忽略错误
    ignore errors
    ## 不只读(可读可写)
    read only = false
    ## 不允许别人查看模块名
    list = false
    ## 传输文件的用户
    auth users = gsp_bak
    ## 传输文件的用户和密码文件
    secrets file = /etc/rsync.passwd
    ## 日志文件
    log file = /var/log/rsyncd.log
    #####################################
    ## 模块名
    [gsp]
    ## 注释,没啥用
    comment = my backup
    ## 备份的目录
    path = /backup
    

    创建所需用户,目录,文件

    # 根据配置文件内容,创建出来需要的用户,目录,密码文件...
    #1.创建用户
    [root@backup ~]# useradd rsync -s /sbin/nologin -M
    
    #2.创建备份目录
    [root@backup ~]# mkdir /backup
    
    #3.修改属组和属主
    [root@backup ~]# chown -R rsync.rsync /backup/
    
    #4.创建用户名和密码存放的文件
    [root@backup ~]# vim /etc/rsync.passwd
    gsp_bak:123
    或者
    [root@backup ~]# echo 'gsp_bak:123' > /etc/rsync.passwd
    
    #5.修改密码文件的权限为600
    [root@backup ~]# chmod 600 /etc/rsync.passwd
    
    #6.启动服务并且加入开机自启
    [root@backup ~]# systemctl start rsyncd
    [root@backup ~]# systemctl enable rsyncd
    
    #7.检测端口
    [root@backup ~]# netstat -lntup|grep 873
    tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      18373/rsync         
    tcp6       0      0 :::873                  :::*                    LISTEN      18373/rsync 
    
    

    二.客户端设置

    创建客户端密码文件

    [root@web01 ~]# echo '123' > /etc/rsync.pass
    

    修改文件权限

    [root@web01 ~]# chmod 600 /etc/rsync.pass 
    

    推送

    #从客户端往服务端推送重要备份文件
    rsync [-avz] 源文件 gsp_bak@10.0.0.41::[模块] + 密码文件路径
    rsync -avz /etc/shadow gsp_bak@10.0.0.41::gsp --password-file=/etc/rsync.pass
    

    rsync的简单语法

    ## rsync 重要选项
    -a           #归档模式传输, 等于-tropgDl
    -v           #详细模式输出, 打印速率, 文件数量等
    -z           #传输时进行压缩以提高效率
    --delete     #让目标目录和源目录数据保持一致
    --password-file=xxx #使用密码文件
    
    ------------------- -a 包含 ------------------
    -r           #递归传输目录及子目录,即目录下得所有目录都同样传输。
    -t           #保持文件时间信息
    -o           #保持文件属主信息
    -p           #保持文件权限
    -g           #保持文件属组信息
    -l           #保留软连接
    -D           #保持设备文件信息
    ----------------------------------------------
    
    -L           #保留软连接指向的目标文件
    -e           #使用的信道协议,指定替代rsh的shell程序
    --exclude=PATTERN   #指定排除不需要传输的文件模式
    --exclude-from=file #文件名所在的目录文件
    

    rsync密码环境变量

    #使用rsync服务时,推 拉客户端都要配置密码
    #使用环境变量,可以不配置,直接写密码(常在脚本中)
    
    [root@web01 ~]# export RSYNC_PASSWORD=123            直接写密码
    [root@web01 ~]# rsync -avz /root/back.sh  gsp_bak@10.0.0.41::gsp     把back.sh 使用gsp模块推给服务端
    

    三.简单的定时备份脚本

    备份脚本

    #写打包etc目录且命名发送的脚本
    [root@web01 ~]# vim back.sh
    #!/bin/bash
    
    #密码环境变量
    export RSYNC_PASSWORD=123
    
    #打包
    cd / &&
    tar -zcf /tmp/back/$(date +%F)-$(hostname).etc.tar.gz  etc
    
    #rsync 推送
    /usr/bin/rsync -avz /tmp/back/$(date +%F)-$(hostname).etc.tar.gz  gsp_bak@10.0.0.41::gsp
    
    
    #授权脚本
    [root@web01 ~]# chmod 755 back.sh
    

    写定时任务

    [root@web01 ~]# crontab -e
    #每天凌晨1点备份/etc目录到服务端
    00 1 * * * /usr/bin/sh /root/back.sh
    
  • 相关阅读:
    ioctl函数用法小记
    scanf函数用法小记
    printf函数用法小记
    REDIS
    lspci 虚拟机网卡对应关系
    vmware安装ubuntu " Intel VT-x 处于禁用状态"
    win10远程桌面配置
    Win10如何彻底禁用小娜?彻底禁用小娜的方法
    为什么Windows7打开项目的方式是灰的不能修改
    以下suse11.3x64可以安装pycrypto-2.6.1
  • 原文地址:https://www.cnblogs.com/gspblog/p/13278575.html
Copyright © 2011-2022 走看看