使用rsync做一个简单的异地备份

Rsync是一个非常简单和方便的小工具,而且也非常的适用;不仅可以用来方便的下拉文件,而且也可以用来作为数据备份的一个工具。下面我自己实验来搭建一个使用rsync作为备份工具。

实验一、

A、     B两个linux系统服务器,服务器A作为网站服务器,上面有重要的数据需要实时备份;服务器B作为备份服务器,需要实时去将A服务器的数据和文件下载下来进行异地备份。

A服务器ip :192.168.5.120

B服务器ip :192.168.5.147

1.  rsync的安装(此步骤非常的简单,可以忽略不计)

1).下载rsync源码包:

wget https://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz

2).进行编译安装:

tar –zxvf rsync-3.0.9.tar.gz

cd rsync-3.0.9

./configure

Make && make install

2.  配置rsync (A服务器上配置)

1).简单配置rsync

Rsync的配置文件为rsyncd.conf 这个文件默认是没有的,需要自己手动创建或者去其他地方cp一份,一些全局参数和模块参数,模块参数以方括弧开始,配置完毕的配置文件如下:

<在配置文件中最好不要保留后面汉字注释,这里仅供参考>

list=no                         #是否列出模块 默认是yes

uid=root                        #守护进程用户id默认是nobody

gid=root                        #守护进程组id 默认是nobody

strict modes = yes              #是否检查口令文件权限,yes为检查权限,口令文件权限必须为root用户权限

max connections=10000           #最大连接数

log file=/data0/logs/rsync/rsyncd.log

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsync.lock

#hosts deny=*

[www]         #模块的开始

path=/data/www_root/            #需要备份的路径

comment=web

ignore errors                   #忽略一下IO错误

read only=no                    #客户端可以上传文件,yes表示只读

write only = no                 #客户端可以下载文件,yes表示不能下载

hosts allow=192.168.5.147

#osts deny=*

secrets file = /root/rsyncd.secrets   #密码文件

2).sync服务:rsync --daemon --config=/etc/rsyncd.conf

3).查看rsync启动

[[email protected] ~]# ps axuf | grep rsync

root      8387  0.0  0.2  63424   784 pts/1    D+   22:46   0:00          \_ grep rsync

root      8382  0.0  0.1  61436   616 ?        Ss   22:46   0:00 rsync --daemon --config=/etc/rsyncd.conf

或者查看端口是否监听

[[email protected] ~]# netstat -nap | grep 873

tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      8382/rsync

tcp        0      0 :::873                      :::*                        LISTEN      8382/rsync

4).创建口令文件以及权限

echo “rsync:123456” > /root/rsyncd.secrets

chmod 600 /root/rsyncd.secrets

3.  B服务器上不需要做任何设置,只需要rsync执行同步就行。为了能在B服务器上自动同步需要在B服务器上创建一个密码文件,文件内容为指定用户的密码。

echo “123456” >/root/rsyncd.secrets

chmod 600 /root/rsyncd.secrets

/usr/bin/rsync -vzrtopg --delete --progress [email protected]::www /data/www_root_back --password-file=/root/rsyncd.secrets

v 详细模式输出

z 在传输中进行压缩

r 对子目录进行递归模式处理

t 保持文件时间信息

o 保持文件属主信息

p 保持文件权限信息

g 保持文件属组信息

--delete 以服务器端为基准,保持服务器端和客户端目录的完全一致

--progress 显示同步过程

--exclude 排除不需要传输的文件类型

--password-file  指定口令文件路径

4.  添加计划任务,定时自动备份

每5分钟同步一次

crontab –e

*/5 * * * * /usr/bin/rsync -vzrtopg --delete --progress [email protected]::www /data/www_root_back --password-file=/root/rsyncd.secrets

时间: 2024-10-01 03:50:07

使用rsync做一个简单的异地备份的相关文章

使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51007512 使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Networking做一个简单的多人游戏例子-3/3 7. 在网络中控制Player移动 上一篇中,玩家操

[3] 用D3.js做一个简单的图表吧!

本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 前面说了几节,都是对文字进行处理,这一节中将用 D3.js 做一个简单的柱形图. 做柱形图有很多种方法,比如用 HTML 的 div 标签,或用 svg . 推荐用 SVG 来做各种图形.SVG 意为可缩放矢量图形(Scalable Vector Graphics),SVG 使用 XML 格式定义图像,不清楚什么是SVG的朋友请先在 w3cschools 学习下

用EF DataBase First做一个简单的MVC3报名页面

使用EF DataBase First做一个简单的MVC3报名网站 ORM(Object Relational Mapping)是面向对象语言中的一种数据访问技术,在ASP.NET中,可以通过ADO.NET Entity Framework技术来简化数据访问.在EF里,有Code First,Model First和DataBase First三种方法来实现. 百度百科关于ORM的介绍: http://baike.baidu.com/view/197951.htm?fr=aladdin 1.就像

【Python】 做一个简单的 http 服务器

# coding=utf-8 ''' Created on 2014年6月15日 @author: Yang ''' import socket import datetime # 初始化socket s = socket.socket() # 获取主机名, 也可以使用localhost # host = socket.gethostname() host = "localhost" # 默认的http协议端口号 port = 80 # 绑定服务器socket的ip和端口号 s.bin

Jmeter初步使用二--使用jmeter做一个简单的性能测试

经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍并使用. 首先,打开Jmeter工具,并建立一个测试计划(测试脚本).启动jmeter后,jmeter会自动生成一个空的测试计划,我们可以基于该测试计划建立自己的测试计划. 步骤: 步骤一:添加线程组 一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程组.测试计划添加线程组非常简

使用React并做一个简单的to-do-list

1. 前言 说到React,我从一年之前就开始试着了解并且看了相关的入门教程,而且还买过一本<React:引领未来的用户界面开发框架 >拜读.React的轻量组件化的思想及其visual-dom的这种技术创新,也算是早就有了初步了解.一来没有学的太深入,二来后来在工作中和业余项目中都没有用到,因此慢慢的就更加生疏了. 近期,因为我想把自己的开源项目wangEditor能放在React.angular和vuejs中使用.先从react开始,顺手自己也重试一下React的基础知识,顺便再做一个小d

【 D3.js 入门系列 — 3 】 做一个简单的图表!

图1. 柱形图 1. 柱形图 前几章的例子,都是对文字进行处理.本章中将用 D3 做一个简单的柱形图.制作柱形图有很多种方法,比如用 HTML 的 <div> 标签,或在 SVG 上绘制 . SVG ,即可缩放矢量图形(Scalable Vector Graphics),使用 XML 格式定义图形,可在 W3School 学习 SVG 的相关语法,不需要记住所有标签,用的时候再查即可. 先看下面的代码: <script src="http://d3js.org/d3.v3.mi

【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎

Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 前言 好吧,说是“粒子引擎”还是大言不惭而标题党了,离真正的粒子引擎还有点远.废话少说,先看[demo],扫描后点击屏幕有惊喜哦… 本文将教会你做一个简单的canvas粒子制造器(下称引擎). 世界观 这个简单的引擎里需要有三种元素:世界(World).发射器(Launcher).粒子(Grain).总得来说就是:发射器存在于世界之中,

初学者如何做一个简单的计算器,代码分享

先新建一个类 startCalculator 声明如下 #import <Foundation/Foundation.h> @interface StartCalculator : NSObject //声明两个要计算的变量 @property float opValue1; @property float opValue2; //声明一个运算符 @property char op; //普通方法 //- (float) gzyWorkAdd; // //- (float) gzyWorkSu