什么是rsync:

  •   rsync 是一个unix系统下的文件同步和传输工具。
  •   rsync是用"rsync" 算法提供一个客户端和远程文件服务器的文件同步的快速方法。

rsync特性:

  •   能更新整个目录和树和文件系统;
  •   游戏选择性的保存符号链接,硬链接,文件属性,权限,文件时间和设置等;
  •   对于安装来说,没有任何特殊权限要求;
  •   对于多文件,内部流水线减少文件等待延时;
  •   能用rsh,ssh或者直接端口作为传输端口;
  •   支持匿名rsync文件同步,是理想的镜像工具;

rsync安装:

  •   yum install rsync
  •   rpm -ivh rsync
  •   tar -zxvf rsync  
  •    cd  rsync-2.6.8-3.1
  •    ./configure
  •    make && make install

   

rsync 配置: 

 vi /etc/rsyncd.conf

 uid = nobody

 gid = nobody
 hosts allow = *
 #hosts deny = 0.0.0.0/32
 use chroot = no
 max connections = 10
 pid file = /var/run/rsyncd.pid
 lock file = /var/run/rsync.lock
 log file = /var/log/rsyncd.log
 
 [Backup]
 path = /home/wwwroot/zyadsc
 comment = rsync files
 ignore errors
 read only = yes
 list=yes
 auth users = root
 secrets file = /etc/rsyncd.scrt

   chmod 600 /etc/rsyncd.conf #为了安全

   vi   /etc/rsyncd.scrt  

   root:123456

rsync 启动:

    /usr/local/bin/rsync --daemon --config=/etc/rsync.conf

    开机启动:

   vi rsync_start.sh 加入

   /usr/local/bin/rsync  --daemon --config=/etc/rsync.conf

   最好加入pid是否存在的判断,如果存在则删掉重启;

   cat rsync_start.sh >> /etc/rc.local

rsync 停止:

    ps -aux |grep rsync

    Linux Rsync同步服务器的安装配置_unix

    kill -9 18572

备份机器设置:

   同理需要安装rsync

    执行以下命令:

    /usr/bin/rsync -vzrtopg --delete --progress root@10.3.0.39::Backup  /home/wwwroot/zyadsc 

   #把root@10.3.0.39的主机 /home/wwwroot/zyadsc 目录下的文件Backup到本机的/home/wwwroot/zyadsc 目录下

    --delete:把备份机器上的文件,该文件在主服务器上却没有的文件删除;

    --progress :显示备份进度;

 

同步过程中的错误:

 

   用户密码错误

  Linux Rsync同步服务器的安装配置_服务器_02   

 

   检查服务器A存储密码文件和服务器B密码文件。

 

  • 服务器A密码文件 /etc/rsyncd.secrets 格式为: username:password
  • 服务器B密码文件 password.rsync 格式为:password

  文件权限错误

       Linux Rsync同步服务器的安装配置_文件同步_03

   检查服务器A存储密码文件和服务器B密码文件。

  • 服务器A密码文件 /etc/rsyncd.secrets 权限为600: chmod 600 /etc/rsyncd.secrets
  • 服务器B密码文件 password.rsync 权限为600:chmod 600 password.rsync

  以上两个错误是大家经常会遇到的,我今天就遇到了这个权限的问题,但是奇怪的是我的文件权限的问题,也只是提示

  auth failed on module ***

 

定时执行:

    vi backup.sh

    #!/bin/bash

   /usr/bin/rsync -vzrtopg --delete --progress root@10.3.0.39::Backup  /home/wwwroot/zyadsc
    

    crontab -e

    */1 * * * * /home/wwwroot/zyadsc/backup.sh > /dev/null 2>&1

    每分钟备份

 

   以上为从主机同步数据到备份机,同理从备份机到主机

    /usr/bin/rsync -vzrtopg --delete --progress /home/wwwroot/zyadsc root@10.3.0.39::Backup

    请确保备份服务器同步用户root,对模块Backup所在目录有读、写、执行的权限。

 

rsync参数说明:

 -h, --help           this message
 -V, --version        output version information
 -n, --numeric        don't resolve service names
 -r, --resolve       resolve host names
 -a, --all            display all sockets
 -l, --listening      display listening sockets
 -o, --options       show timer information
 -e, --extended      show detailed socket information
 -m, --memory        show socket memory usage
 -p, --processes      show process using socket
 -i, --info           show internal TCP information
 -s, --summary        show socket usage summary

 -4, --ipv4          display only IP version 4 sockets
 -6, --ipv6          display only IP version 6 sockets
 -0, --packet display PACKET sockets
 -t, --tcp            display only TCP sockets
 -u, --udp            display only UDP sockets
 -d, --dccp           display only DCCP sockets
 -w, --raw            display only RAW sockets
 -x, --unix           display only Unix domain sockets
 -f, --family=FAMILY display sockets of type FAMILY