公司图片服务器上的资源比较多了,考虑到容灾问题,特把资源进行跨机房,跨网段远程文件备份。在网上找到了 rsync 这款软件,它能帮我解决问题。现在把我在局域网的配置方法进行了整理,分享如下:
主机:192.168.190.199
备机:192.168.190.208
[b]配置操作步骤:[/b]
[color=red]备机[/color]
1.服务器是否安装rsync
若有显示,说明已安装
[img]http://dl.iteye.com/upload/attachment/0073/6938/f6f4a9c0-29f9-381f-8b6e-0fd88ea8b8df.png[/img]
2.安装rsync软件
有两种安装方式:
a.利用 yum 安装
查看是否自己配置了yum (如果没有,问 google)
b.源码安装
下载源码自己编译
[url]http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz[/url]
3.配置rsyncd.conf
安装完 rsync 服务,这个文件默认是没有的需要自己手动创建一个。
[img]http://dl.iteye.com/upload/attachment/0073/6940/295bb824-21df-3b87-9541-6c421cd5d20c.png[/img]
4.配置密码文件 rsync.pass
格式:用户名:密码([color=red]用户名必须系统真是存在的用户,密码最好不要个系统密码一致[/color])
[img]http://dl.iteye.com/upload/attachment/0073/6942/f549c49b-5bae-36de-b80a-af50a526ea7d.png[/img]
5.修改 rsync.pass 和rsyncd.conf 权限
这个两个文件必须是 600 不然服务不读
6.开启防火墙tcp 873端口
7.启动rsync 服务
启动服务有两种方式:
a.使用rsync的–daemon选项启动,rsync服务默认使用873号端口
启动:rsync –daemon
关闭:pkill rsync
lsof –i:873 (检查服务是否启动)
[img]http://dl.iteye.com/upload/attachment/0073/6944/450eefbb-19d1-3067-a821-816fbe704eae.png[/img]
b.xinetd守护
修改/etc/xinetd.d/rsync文件,把
disable = yes
改成
disable = no
然后重启xinetd即可,
/etc/init.d/xinetd restart
[img]http://dl.iteye.com/upload/attachment/0073/6951/71da776c-8b06-3f0a-bbcd-45765605a52e.png[/img]
[color=red]服务[/color]
service xinetd start #启动
service xinetd stop #停止
service xinetd restart #重新启动
如果你的xinetd开机并没自动启动的话,需要执行
chkconfig xinetd on
到此rsync 服务已经配置完成
[color=red]主机:[/color]
1.配置密码文件rsync.pass
这个里面只配置密码
修改文件的权限 600
2.执行命令
/usr/bin/rsync -vzrtopg --password-file=/home/Gzh/shell/rsync.pass /home/Gzh/shell Gzh@192.168.190.208::picData
执行成功
[img]http://dl.iteye.com/upload/attachment/0073/6946/f0b810db-c368-3d36-82a5-28575eecdf64.png[/img]
3.备份脚本
这样就可以实现远程备份了。
主机:192.168.190.199
备机:192.168.190.208
[b]配置操作步骤:[/b]
[color=red]备机[/color]
1.服务器是否安装rsync
rpm -qa|grep –i rsync
若有显示,说明已安装
[img]http://dl.iteye.com/upload/attachment/0073/6938/f6f4a9c0-29f9-381f-8b6e-0fd88ea8b8df.png[/img]
2.安装rsync软件
有两种安装方式:
a.利用 yum 安装
yum install rsync xinetd
查看是否自己配置了yum (如果没有,问 google)
b.源码安装
下载源码自己编译
[url]http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz[/url]
cd rsync-3.0.9
./configure
make && make install
3.配置rsyncd.conf
安装完 rsync 服务,这个文件默认是没有的需要自己手动创建一个。
vi /etc/rsyncd.conf
#主要全局参数
uid = root
gid = root
use chroot = yes #为了安全考虑,让rsync运行于chroot环境
log file = /var/log/rsyncd.log #rsync的日志文件
pid file = /var/run/rsyncd.pid #rsync的pid文件
hosts deny = * #除了允许的之外,默认禁止访问
[picData]
comment = backup for picServer
path = /home/Gzh/rsyncBak
read only = no
auth users = Gzh
secrets file = /etc/rsync.pass
hosts allow = 192.168.190.199,127.0.0.1
:wq!
[img]http://dl.iteye.com/upload/attachment/0073/6940/295bb824-21df-3b87-9541-6c421cd5d20c.png[/img]
4.配置密码文件 rsync.pass
vi /etc/rsync.pass
Gzh:123456
格式:用户名:密码([color=red]用户名必须系统真是存在的用户,密码最好不要个系统密码一致[/color])
[img]http://dl.iteye.com/upload/attachment/0073/6942/f549c49b-5bae-36de-b80a-af50a526ea7d.png[/img]
5.修改 rsync.pass 和rsyncd.conf 权限
这个两个文件必须是 600 不然服务不读
chmod 600 /etc/rsync.pass
chmod 600 /etc/rsyncd.conf
6.开启防火墙tcp 873端口
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq
7.启动rsync 服务
启动服务有两种方式:
a.使用rsync的–daemon选项启动,rsync服务默认使用873号端口
启动:rsync –daemon
关闭:pkill rsync
lsof –i:873 (检查服务是否启动)
[img]http://dl.iteye.com/upload/attachment/0073/6944/450eefbb-19d1-3067-a821-816fbe704eae.png[/img]
b.xinetd守护
修改/etc/xinetd.d/rsync文件,把
disable = yes
改成
disable = no
然后重启xinetd即可,
/etc/init.d/xinetd restart
[img]http://dl.iteye.com/upload/attachment/0073/6951/71da776c-8b06-3f0a-bbcd-45765605a52e.png[/img]
[color=red]服务[/color]
service xinetd start #启动
service xinetd stop #停止
service xinetd restart #重新启动
如果你的xinetd开机并没自动启动的话,需要执行
chkconfig xinetd on
到此rsync 服务已经配置完成
[color=red]主机:[/color]
1.配置密码文件rsync.pass
vi /home/Gzh/shell/rsync.pass
123456
:wq
这个里面只配置密码
修改文件的权限 600
2.执行命令
/usr/bin/rsync -vzrtopg --password-file=/home/Gzh/shell/rsync.pass /home/Gzh/shell Gzh@192.168.190.208::picData
执行成功
[img]http://dl.iteye.com/upload/attachment/0073/6946/f0b810db-c368-3d36-82a5-28575eecdf64.png[/img]
3.备份脚本
#!/bin/sh
#command
rsync=/usr/bin/rsync
echo=/bin/echo
#backup server info
remote_host=Gzh@192.168.190.208
remote_path=picData
#backup
backup_path="/home/Gzh/shell"
#passFile
passfile_path="/home/Gzh/shell/rsync.pass"
for path in $backup_path;
do
date=`date "+%D %H:%M:%S"`
$echo "--- Start Backup $path $date ----"
$echo "$rsync -vzrtopg --password-file=$passfile_path $path $remote_host::$remote_path"
$rsync -zrtopg --password-file=$passfile_path $path $remote_host::$remote_path
date=`date "+%D %H:%M:%S"`
$echo "--- End Backup $path $date ----"
done
这样就可以实现远程备份了。