rsync 实现实时增量备份
Rsync + Crontab实现定时文件同步(首次全量+后续增量) 2015-04-14 19:02:11
一、简介
在配置HA的时候,需要配置多个节点的配置,节点间的配置很多时候都是类似重复的,也许可以通过scp等手段实现,但是每次的更改都需要手动scp也显得麻烦,这边我们可以通过rsync的方式来实现文件的同步。
使用rsync+crontab做定时同步时,主服务器端开启rsync守护进程,而镜像服务器是运行rsync客户端,平时一般会利用crontab定时获取rsync服务器上的数据。
二、配置
①rsync的服务端(文件发送出去端)
以守护进程的形式后台运行
1.rsync的安装和文件包组成
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[root@web1 ~]# yum install rsync[root@web1 ~]# rpm -ql rsync /etc/xinetd.d/rsync ##基于xinetd的管理/usr/bin/rsync ##rsync工具/usr/share/doc/rsync-3.0.6 /usr/share/doc/rsync-3.0.6/COPYING /usr/share/doc/rsync-3.0.6/NEWS /usr/share/doc/rsync-3.0.6/OLDNEWS /usr/share/doc/rsync-3.0.6/README /usr/share/doc/rsync-3.0.6/support /usr/share/doc/rsync-3.0.6/support/Makefile /usr/share/doc/rsync-3.0.6/support/atomic-rsync /usr/share/doc/rsync-3.0.6/support/cvs2includes /usr/share/doc/rsync-3.0.6/support/deny-rsync /usr/share/doc/rsync-3.0.6/support/file-attr-restore /usr/share/doc/rsync-3.0.6/support/files-to-excludes /usr/share/doc/rsync-3.0.6/support/git-set-file-times /usr/share/doc/rsync-3.0.6/support/logfilter /usr/share/doc/rsync-3.0.6/support/lsh /usr/share/doc/rsync-3.0.6/support/mnt-excl /usr/share/doc/rsync-3.0.6/support/munge-symlinks /usr/share/doc/rsync-3.0.6/support/rrsync /usr/share/doc/rsync-3.0.6/support/rsyncstats /usr/share/doc/rsync-3.0.6/support/savetransfer.c /usr/share/doc/rsync-3.0.6/tech_report.tex /usr/share/man/man1/rsync.1.gz /usr/share/man/man5/rsyncd.conf.5.gz |
软件包组成中没有提供配置文件和相应的文件,因此需要自行添加如下:
|
1
2
3
4
5
|
[root@node1 ~]# mkdir /etc/rsyncd ##创建配置目录 [root@node1 ~]# touch /etc/rsyncd/rsyncd.conf ##创建主配置文件 [root@node1 ~]# touch /etc/rsyncd/rsyncd.secrets ##创建用户密码文件 [root@node1 ~]# chmod 600 /etc/rsyncd/rsyncd.secrets ##修改用户密码文件 [root@node1 ~]# touch /etc/rsyncd/rsyncd.motd ##创建定义服务器信息的文件 |
2.编辑配置rsyncd.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
[root@node1 ~]# vi /etc/rsyncd/rsyncd.conf# Minimal configuration file for rsync daemon # See rsync(1) and rsyncd.conf(5) man pages for help# This line is required by the /etc/init.d/rsyncd script pid file = /var/run/rsyncd.pid port = 873 ##监听端口 address = 192.168.192.208 ##监听地址 #uid = nobody #gid = nobody uid = root gid = rootuse chroot = yes ##是否限制在指定目录,为了安装,一般需要启用 read only = no#limit access to private LANs hosts allow=192.168.192.0/255.255.255.0 ##允许网段 hosts deny=*max connections = 5 motd file = /etc/rsyncd/rsyncd.motd#This will give you a separate log file #log file = /var/log/rsync.log#This will log every file transferred - up to 85,000+ per user, per sync #transfer logging = yeslog format = %t %a %m %f %b syslog facility = local3 timeout = 300##定义一个同步目录[webdir] path = /var/www/html list=yes ignore errors auth users = apache secrets file = /etc/rsyncd/rsyncd.secrets ##指定上述账号密码文件 comment = web homeexclude = data/ ##排除目录 |
3.添加账号密码文件
|
1
2
3
|
[root@node1 ~]# vi /etc/rsyncd/rsyncd.secretsapache:123456##注意,这个账号是系统账号,但没有使用系统账号的密码,而是自定义密码 |
4.让rsync以守护进程运行
|
1
|
[root@node1 ~]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf |
5.开机自动启动
|
1
|
[root@node1 ~]# echo "/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf" >> /etc/rc.d/rc.local |
②配置rsync的客户端
客户端同样需要安装rsync,但是只需要配置如下文件即可
|
1
2
3
|
[root@node2 ~]# mkdir /etc/rsyncd ##创建配置目录 [root@node2 ~]# echo “passowd123”> /etc/rsyncd/rsyncd.password ##创建密码文件,密码为服务器端rsyncd.secrets文件中的密码。[root@node2 ~]# chmod 600 /etc/rsyncd/rsyncd.password |
③同步操作
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@node2 ~]# rsync -avzP --delete --password-file=/etc/rsyncd/rsyncd.password apache@192.168.192.208::webdir /var/www/html/说明:--delete:本地与服务器完全一样,如果本地存在不一样的,则删除,慎用--password-file:指定密码文件,如果不指定,则需手动输入-a :参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件; -z :传输时压缩; -P :传输进度; -v :传输时的进度等信息apache@192.168.192.208::webdir 用双冒号引用主配置文件中的定义资源,也可以使用单引号跟绝对路径以后同步时,只会同步新增内容。 |
④
|
1
|
将rsync -avzP --delete --password-file=/etc/rsyncd/rsyncd.password apache@192.168.192.208::webdir |
rsync 实现实时增量备份的更多相关文章
- NFS +inotify+rsync 实现数据的远程挂载与实时增量备份
NFS 网络文件系统 功能: 用户可以像访问自己的本地文件系统一样使用网络中的远端系统上的文件 原理: 用户进程-->RPC服务(portman)-->tcp/ip协议栈-->远端主 ...
- Rsync + sersync 实时同步备份
一 Rsync + Sersync 实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 ...
- linux下rsync和tar增量备份梳理
前面总结过一篇全量备份/增量备份/差异备份说明,下面介绍下linux下rsync和tar两种增量备份的操作记录: 1)rsync备份 rsync由于本身的特性,在第一次rsync备份后,以后每次都只是 ...
- rsync数据定时增量备份知识管理服务器数据
为了保证公司知识管理服务器数据的安全性,所以计划每天同步confluence服务器上面数据 一.安装rsync服务端 1.查看是否安装rsync ps -ef | grep rsync 2.添加配置文 ...
- Linux rsync数据定时增量备份
一.安装rsync服务端 1.查看是否安装rsync ps -ef | grep rsync 系统一般默认已安装,安装方法: yum -y install rsync 2.添加配置文件 rsync没有 ...
- mysql实时增量备份
采用binlog日志的好处 掌控所有更改操作,必要时可用于恢复数据 数据库主从复制的必要条件 [root@localhost~]# vim /etc/my.cnf [mysqld] .. .. log ...
- 三十三.mysqldump 实时增量备份 、innobackupex
1.数据库备份与恢复 逻辑备份工具 mysqldump 使用mysql 恢复数据库 1.1备份MySQL服务器上的所有库 ]# mysqldump -u root -p123456 --all-d ...
- rsync实现数据增量备份
环境说明: 主机ip:192.168.0.201 需备份的目录:/opt/mail 备份机器ip:192.168.0.215 1.编辑/etc/rsyncd.conf文件(etc目录不存在的话,需要手 ...
- rsync无密码实时增量同步
rsync -azvP /rsync/ --password-file=/etc/rsyncd/rsyncd.password ruiy@192.168.11.199:/rsync/ rsync - ...
随机推荐
- application in 2014
OA WEBSITE ERP ISO ANDROID EF+MVC4+CATCHE+JQuery+js+div+css+web性能优化+webservice+sql2008+设计模式+wcf+多线程 ...
- Embedded System.
Soc ( System on Chip) Soc is an integrated circuit (IC) that integrates all components of a computer ...
- (C++) Interview in English. - Constructors/Destructors
Constructors/Destructors. 我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数.析构函数.复制构造函数和重载赋值操作:即使在你没有明确定义的情况下,编译器也会给你生成 ...
- [CSS]如何正确使用ID和Class?
作者:DarkZone链接:https://www.zhihu.com/question/19550864/answer/23440690来源:知乎 以下摘自<精通CSS:高级Web标准解决方案 ...
- spark MapOutputTrackerMaster
最近用了一个RowNumber() over()函数 进行三张4000万数据的关联筛选,建表语句如下: create table CiCustomerPortrait2 as SELECT ROW_N ...
- Form_Form Builder Export导出为Excel(案例)
2014-01-09 Created By BaoXinjian
- C++模板元编程 - 2 模仿haskell的列表以及相关操作
这是昨天和今天写的东西,利用C++的可变模板参数包以及包展开,模式匹配的一些东西做的,感觉用typename...比轮子叔那个List<A,List<B, List<C, D> ...
- 冲突--ListView与ScrollView冲突的4种解决方案
众所周知ListView与ScrollView都具有滚动能力,对于这样的View控件,当ScrollView与ListView相互嵌套会成为一种问题: 问题一:ScrollView与ListView嵌 ...
- 问对于一个给定的n,怎样才能用最少的步骤将它变到1
如果n为偶数,则将它除以2,如果n为奇数,则将它加1或者减1.问对于一个给定的n,怎样才能用最少的步骤将它变到1.例如:n= 61n-- 60n/2 30n/2 15n++ 16n/2 8n/2 4n ...
- Hadoop Bloom filter应用示例
Hadoop0.20.2 Bloom filter应用示例 2014-06-04 11:55 451人阅读 评论(0) 收藏 举报 1. 简介 参见<Hadoop in Action>P1 ...