• ubuntu14 使用rsync远程备份文件


    服务端:

    Ubuntu默认安装有rsync,只需要在rsync中将false改true

    #sudo vim /etc/default/rsync
    RSYNC_ENABLE=true   

    创建目录管理用户、备份存储目录、授权

    # useradd rsync -M -s /sbin/nologin
    # mkdir /backup
    # chown -R rsync.rsync /backup

    创建认证账号密码和授权

    # echo "auth_rsync:123qwe" >>/etc/rsync.password
    # chmod 600 /etc/rsync.password

    编辑配置文件

    # vim /etc/rsyncd.conf 
    uid=rsync
    #刚才新建的管理用户
    gid=rsync
    use chroot=no
    #安全机制,默认关闭
    max connections=200
    #最大连接数
    timeout=300
    #超时时间
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    log file=/var/log/rsyncd.log
    #设置pid、lock、log目录
    
    [bagit]
    #模块名
    comment=git backup
    #备注
    path=/backup
    #备份存储目录
    ignore errors
    #忽略错误
    read only=false
    #默认关闭,若想停止备份则修改成true
    fake super=yes
    #参数-a 传输会报错,使用这个参数不报错
    #rsync: chgrp ".2.txt.hp7Mew" (in bagit) failed: Operation not permitted 
    list=false
    #是否列表模块列表信息,默认关闭
    hosts allow=10.20.0.0/255.255.0.0
    #白名单
    hosts deny=all
    #黑名单,有白名单的时候,优先白名单
    auth users=auth_rsync
    #客户端连接使用的认证账号(配置文件配置即可,不需创建用户)
    secrets file=/etc/rsync.password
    #认证账号密码目录

     启动服务

    # rsync --daemon
    # netstat -lnp | grep rsync
    tcp    0  0 0.0.0.0:873     0.0.0.0:*               LISTEN      1170/rsync      
    tcp6   0  0 :::873        :::*                    LISTEN      1170/rsync      
    # killall rsync
    #杀掉服务

    客户端:

    查看是否有安装rsync

    # dpkg -l | grep rsync
    ii  rsync                            3.1.0-2ubuntu0.4                           amd64

    创建连接密码并授权

    # echo "123qwe" >>/etc/rsync.password
    # chmod 600 /etc/rsync.password

    客户端测试:

    # rsync -azvhnp /home/ auth_rsync@10.20.6.240::bagit --password-file=/etc/rsync.password >>/var/log/rsync_client.log

    #-a 递归方式传输文件,并保持文件属性,等价-rlptgoD不包含-H -r 子目录以递归模式处理-l 保持符号链接文件-H 保持硬链接文件-p 保持文件权限-t 保持文件时间信息-g 保持文件归属组信息-o 保持文件归属用户信息-D 保持设备文件和特殊文件-z 在传输文件时进行压缩处理-p 等价于—partial—progress-v,--verbose 详细输出模式-h,--human-readable 输出文件大小-n,--dry-run 显示那些文件将要被传输--password-file=FILE 指定从FILE中读取口令,避免在终端中输入口令

    # 目录后面加 / or 不加 / (/home)是有区别的,不加会将整个目录同步过去,
    # 加 / 后 (/home/)会同步home目录下的所以内容,而不附带home目录
  • 相关阅读:
    iOS 添加微信分享
    IOS学习笔记——ViewController生命周期详解
    UI之CALayer详解(转)
    iOS CALayer讲解
    [leetcode] Minimum Path Sum
    [leetcode]Binary Tree Maximum Path Sum
    我是真的想去google啊
    C++ string 用法详解
    继续存博客
    bash中 2>&1 & 的解释
  • 原文地址:https://www.cnblogs.com/dthum/p/11929092.html
Copyright © 2020-2023  润新知