码迷,mamicode.com
首页 > 其他好文 > 详细

rsync数据备份解决方案

时间:2017-07-09 10:31:31      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:dha   not run   系统环境   var   errors   add   core   ==   created   

  rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

一、项目规则:

1、系统环境

[root@zabbix-client ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@zabbix-client ~]# uname -r
3.10.0-327.el7.x86_64

2、更改主机名和/etc/hosts文件 (客户端和服务端同时操作)

[root@zabbix-server etc]# tail -2 /etc/hosts
192.168.30.137 zabbix-server
192.168.30.136 zabbix-client

 

二、安装rsync软件

1、 安装rsync软件(客户端和服务端同时操作)

[root@zabbix-client ~]# yum install rsync -y
[root@zabbix-client ~]#  rpm -qa rsync
rsync-3.0.9-17.el7.x86_64

2、编辑rsyncd.conf配置文件

[root@zabbix-server ~]# vi /etc/rsyncd.conf
#Rsync server
#created by nulige 2017-7-8
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.30.1/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
##################################################
[backup]
comment = backup server by nulige at 207-7-8
path = /backup

3、添加用户并授权、更改所属组】

[root@zabbix-server etc]# useradd rsync -s /sbin/nologin -M
[root@zabbix-server etc]# id rsync
uid=1000(rsync) gid=1000(rsync) groups=1000(rsync)
[root@zabbix-server etc]# mkdir /backup
[root@zabbix-server etc]# chown -R rsync /backup
[root@zabbix-server etc]#  ls -ld /backup
drwxr-xr-x 2 rsync root 6 Jun 24 10:18 /backup

4、创建密码文件

[root@zabbix-server etc]#  echo "rsync_backup:nulige" >/etc/rsync.password
[root@zabbix-server etc]# chmod 600 /etc/rsync.password
[root@zabbix-server etc]#  cat /etc/rsync.password
rsync_backup:nulige

5、添加rsync启动脚本

[root@zabbix-client ~]# vi /etc/init.d/rsync
#!/bin/bash 
#author:nulige
#this script for start|stop rsync daemon service 
#date:2017/7/8
  
status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v ‘grep‘) 
pidfile="/var/run/rsyncd.pid" 
start_rsync="rsync --daemon --config=/etc/rsyncd.conf" 
  
function rsyncstart() { 
  
    if [ "${status1}X" == "X" ];then 
  
        rm -f $pidfile       
  
        ${start_rsync}   
  
        status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v ‘grep‘) 
          
        if [  "${status2}X" != "X"  ];then 
              
            echo "rsync service start.......OK" 
              
        fi 
  
    else 
  
        echo "rsync service is running !"    
  
    fi 
} 
  
function rsyncstop() { 
  
    if [ "${status1}X" != "X" ];then 
      
        kill -9 $(cat $pidfile) 
  
        status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v ‘grep‘) 
  
        if [ "${statusw2}X" == "X" ];then 
              
            echo "rsync service stop.......OK" 
        fi 
    else 
  
        echo "rsync service is not running !"    
  
    fi 
} 
  
  
function rsyncstatus() { 
  
  
    if [ "${status1}X" != "X" ];then 
  
        echo "rsync service is running !"   
      
    else 
  
         echo "rsync service is not running !"  
  
    fi 
  
} 
  
function rsyncrestart() { 
  
    if [ "${status1}X" == "X" ];then 
  
               echo "rsync service is not running..." 
  
               rsyncstart 
        else 
  
               rsyncstop 
  
               rsyncstart    
  
        fi       
}  
  
case $1 in 
  
        "start") 
               rsyncstart 
                ;; 
  
        "stop") 
               rsyncstop 
                ;; 
  
        "status") 
               rsyncstatus 
               ;; 
  
        "restart") 
               rsyncrestart 
               ;; 
  
        *) 
          echo 
                echo  "Usage: $0 start|stop|restart|status" 
          echo 
esac

6、给脚本添加执行权限

[root@zabbix-client ~]# chmod a+x /etc/init.d/rsync

7、启动rsync服务

#启动
[root@zabbix-client ~]# service rsync start

#重启
[root@zabbix-client ~]# service rsync restart
rsync service is not running...

#查看状态
[root@zabbix-client ~]# service rsync status
rsync service is not running ! 

#启动rsync服务(没有用启动脚本的情况,系统默认的启动方法)

[root@zabbix-server etc]# rsync --daemon

8、查看启动端口

[root@zabbix-server etc]# netstat -lntup|grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      49936/rsync         
tcp6       0      0 :::873                  :::*                    LISTEN      49936/rsync  

 9、加入开机自启动

 [root@zabbix-server ~]#echo "#rsync boot start by nulige at 2017-7-8" >>/etc/rc.local

[root@zabbix-server ~]#echo "rsync --daemon" >>/etc/rc.local

[root@zabbix-server ~]# tail /etc/rc.local 
#rsync boot start by nulige at 2017-7-8
rsync --daemon

三、安装客户端

 

rsync数据备份解决方案

标签:dha   not run   系统环境   var   errors   add   core   ==   created   

原文地址:http://www.cnblogs.com/nulige/p/7138784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!