zoukankan      html  css  js  c++  java
  • rsync

    Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具。

    Rsync软件适用于unix/linux/windows等多种操作系统平台。

    Rsync有三种模式:1.本地模式(类似于cp命令)

             2.远程模式(类似于scp命令)

             3.守护进程(socket进程:是rsync的重要功能)

    把系统的hosts文件同步到/opt目录:rsync /etc/hosts /opt

    把opt目录拷贝到/mnt下:rsync -avz /opt /mnt

    删除:rsync -avz --delete /old/ /tmp(将tmp目录下比old目录下多的文件删除)

    一、某DBA做数据同步,带宽占满,导致用户无法访问网站。

      解答:rsync -avz dbfile 10.0.0.41:/backup(没有给带宽做限制)

         rsync -avz --bwlimit=100 dbfile 172.16.1.41:/backup(限定了带宽)

    二、测试本地rsync同步:rsync -avz /opt /tmp

      

    三、将当前主机内容推送到远程主机

      rsync -avzP -e 'ssh -p 22'/etc/ root@192.168.126.136:/tmp/(开始同步)

      ssh root@zhuji "ls -l /tmp" (查看同步结果)

    四、将远程主机内容拉取到当前主机

      rsync -avzP -e 'ssh -p 22' root@zhuji:/opt /tmp

      

    五、以守护进程(socket)的方式传输数据(重点)

    创建服务端:

      首先确认软件是否安装:rpm -qa rsync

      然后创建rsyncd.conf文件,并添加如下内容(文件默认不存在)

        #vim /etc/rsyncd.conf

    1. # 用户
    2. uid = rsync
    3. # 组
    4. gid = rsync
    5. # 程序安全设置
    6. use chroot = no
    7. # 客户端连接数
    8. max connections = 200
    9. # 超时时间
    10. timeout = 300
    11. # 进程号文件位置
    12. pid file = /var/run/rsyncd.pid
    13. # 进程锁
    14. lock file = /var/run/rsync.lock
    15. # 日志文件位置
    16. log file = /var/log/rsyncd.log
    17. ##########################################
    18. [backup]
    19. # 使用目录
    20. path = /backup/
    21. # 有错误时忽略
    22. ignore errors
    23. # 可读可写(true或false)
    24. read only = false
    25. # 阻止远程列表(不让通过远程方式看服务端有啥)
    26. list=false
    27. # 允许IP
    28. hosts allow = 192.168.197.0/24
    29. # 禁止IP
    30. hosts deny = 0.0.0.0/32
    31. # 虚拟用户
    32. auth users = rsync_backup
    33. # 存放用户和密码的文件
    34. secrets file = /etc/rsync.password

       创建共享目录及添加rsync程序用户:

      启动服务:rsync --daemon

      

      将A-Sever上的/backup文件夹更改属主rsync

      创建rsync虚拟账户名和密码

      将账户密码文件的权限设置为600

      加入开机启动

    创建客户端:

      只需要创建密码文件

      将密码文件的权限设置为600

    六、如下图:

     解答:首先,我们要先配置好服务端和客户端。

    配置服务端:

    1.确认软件是否安装: which rsync scp

    2.配置系统文件: 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/rsync.lock
    log file = /var/log/rsyncd.log
    [backup]
    path = /backup/
    ignore errors
    read only = false
    list = false
    hosts allow = 192.168.126.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password

    3.创建共享目录和rsync的程序用户

    useradd -M -s /sbin/nologin rsync

    cat /etc/passwd | grep rsync

    cat /etc/group | grep rsync

    mkdir /backup

    4.更改属主:chown -R rsync /backup

    5.创建虚拟用户: echo "rsync_backup:123456" >> /etc/rsync.password

    6.将账户密码文件的权限更改为600: chmod 600 /etc/rsync.password

    7.加入开机启动: echo "rsync --daemon" >> /etc/rc.local

      也可以用另一种开机自启 chkconfig rsync on,但要修改为chkconfig使用的脚本。

      重启rsync命令,先杀掉: pkill rsync,然后启动: rsync --daemon

    配置客户端:

    1.查看命令是否存在: which rsync scp

    2.创建密码文件: echo “123456” > /etc/rsync.password

    3.将密码文件权限设置为600: chmod -R /etc/password

    4.配置脚本client: vim client

    5.配置定时任务: crontab -e

    0 0 * * * /bin/sh client

    传送成功,配置完毕。

  • 相关阅读:
    【树转数组】poj1195
    sigsuspend sigprocmask函数的用法
    [javascirpt] Regex
    [Angular 2] Passing data to components with 'properties'
    [TypeScript] Inheritance
    [Angular 2] Pipes with Multiple Parameters
    [Angular 2] Create a simple search Pipe
    [Angular 2] Pipe Purity
    [Angular 2] Exposing component properties to the template
    [Angular 2] ng-model and ng-for with Select and Option elements
  • 原文地址:https://www.cnblogs.com/mashuang/p/9923380.html
Copyright © 2011-2022 走看看