Linux下rsync实现多服务器文件同步
来源:互联网 发布:java中的成员方法 编辑:程序博客网 时间:2024/06/01 10:24
目标:多服务器文件同步
环境:2台centos5.5
web:10.80.11.243
backup:10.80.11.244
第一部分:简单的数据备份
第一步:服务器端的配置
#rpm –qa |grep rsync
如果没有的话,则自行下载安装
#cd /usr/local/src
# wget http://www.samba.org/ftp/rsync/src-previews/rsync-3.0.6pre1.tar.gz
#tar –zxvf rsync-3.0.6pre1.tar.gz
#cd rsync-3.0.6pre1
#./configure && make && make install
假设web服务器有三个目录需要备份
/www
/home/web_user1/
/home/web_user2/
创建rsync的配置文件
#vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 4
pid
file
=
/var/run/rsyncd
.pid
lock
file
=
/var/run/rsync
.lock
log
file
=
/var/log/rsyncd
.log
[www]
path =
/www/
ignore errors
read
only =
true
list =
false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0
/32
auth
users
= backup
secrets
file
=
/etc/backserver
.pas
[web_user1]
path =
/home/web_user1/
ignore errors
read
only =
true
list =
false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0
/32
uid = web_user1
gid = web_user1
auth
users
= backup
secrets
file
=
/etc/backserver
.pas
[web_user2]
path =
/home/web_user2/
ignore errors
read
only =
true
list =
false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0
/32
uid = web_user2
gid = web_user2
auth
users
= backup
secrets
file
=
/etc/backserver
.pas
备注:
uid = nobody //指定文件传输过程中的用户身份
gid = nobody //指定文件传输过程中的组身份
log file = /var/log/rsyncd.log //指定使用独立的日志文件的位置
pid file = /var/run/rsyncd.pid //保存pid到指定文件,以便于使用脚本终止进程
read only = yes //该目录设置为只读,即只允许客户端下行同步,不允许上传。若需要进行从备份机还原数据,改为no
rsyncd默认在873端口监听服务,可在客户端使用telnet连接测
密码文件为/etc/backserver.pas
#vim /etc/backserver.pas
backup:123456
格式为:用户名:密码
设置密码文件仅仅root用户能访问
#chmod 600 /etc/backserver.pas
然后建立备份用户
#useradd backup
#passwd backup
在服务器端启动rsync服务
# nohup rsync --daemon &
第二步:备份端的配置
安装rsync软件,同上
设置密码文件
#vim /etc/rsync.pas
123456
在客户端不需要加用户名,只需要加密码,同时设置为只有root有权限
#chmod 600 /etc/rsync.pass
创建备份目录
#mkdir-p /backup/www
#mkdir -p /backup/web_user1
#mkdir -p /backup/web_user2
把服务器端文件www模块备份到本机
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243::www /backup/www/ --password-file=/etc/rsync.pass
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致, 删除本地目录中多余的文件
-- exclude "logs/" 表示不对/www/logs目录下的文件进行备份。
--exclude "conf/ssl.*/"表示不对/www/conf/ssl.*/目录下的文件进行备份。
对其他的模块的备份如下:
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243::web_user1 /backup/web_user1/ --password-file=/etc/rsync.pass
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243:: web_user2 /backup/web_user2/ --password-file=/etc/rsync.pass
如果提示以下错误
@ERROR: invalid uid web_user2
rsync
error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6pre1]
则需要修改web服务器上的web_user2的uid和gid注释掉
定时备份的话,在crontab –e里面设置
附:备份脚本,可以加入crontab,按时自动备份(backup服务器上运行)
#!/bin/bash
DATE=`
date
+%w`
rsync
-tvzrp -e
ssh
--progress --delete backup@10.80.11.244::www
/backup/www/
$DATE --password-
file
=
/etc/rsync
.pass >
/var/log/test
.$DATE
mail -s
"Backup is done"
happy.yin@qq.com <
/var/log/test
.$DATE
- Linux下利用rsync实现多服务器文件同步
- Linux下rsync实现多服务器文件同步
- linux下rsync实现文件备份同步
- linux下rsync实现文件同步
- linux rsync服务器文件同步
- Linux下rsync文件同步服务器配置详解
- Linux--rsync实现文件同步
- Linux中使用rsync实现多服务器之间文件同步问题
- Linux中使用rsync实现多服务器之间文件同步问题
- 通过rsync+inotify实现多服务器文件的实时同步
- Rsync实现服务器文件定时同步备份
- 使用rsync 实现服务器文件同步
- Linux 下使用 rsync 同步文件
- Linux下Inotify + Rsync文件实时同步
- linux 下使用 rsync 进行文件 同步
- linux 下使用 rsync 进行文件 同步
- Linux 下 inotify+rsync 文件实时同步
- linux 下 rsync 备份/同步文件
- 新浪天气预报API
- 优秀程序员的十个习惯收藏
- Android实现导航菜单左右滑动效果
- OC_学习_类方法\实例方法
- Discuz!X/数据库操作方法
- Linux下rsync实现多服务器文件同步
- Ubuntu系统下MySQL的UTF8设置方式
- LAMP环境的搭建
- hibernateTemplate常用方法
- 6.14 复写
- Android 初步学习BroadCast与Service实现简单的音乐播放器
- MFC 注册表操作
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- hadoop环境搭建问题