• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

Freebsd or Linux可以使用RSYNC进行热备份

Freebsd admin 11年前 (2008-04-11) 481次浏览

参照:
前言
RSYNC 是 Linux,UNIX 系统下的数据镜像及备份工具,具有可使本地和远程两台主机的文件,目录之间,快速同步镜像,远程数据备份等功能.在同步过程中,可根据远程服务器上的数据变动,相应的删除或者更新本地机的数据,同步数据不用全部传送,大大提高同步及备份文件的速度.同时在网络安全方面,也可以设置为 SSH 传输模式. 远程主机(Rsync Server)可为 RSYNC daemon 模式,开启之后将开放 tcp4 873 port,等待本地主机(Rsync client)的连接,连接时远程主机会进行认证,确认合法用户进入,便开始进行资料传输,在第一次传输时会把整个资料都备份同步到本地主机上,在下一次传输时,添加相应参数则可根据远程主机的数据变动来相应调整同步操作. 本文只是 RSYNC 软件的一个简单应用操作文档,主要是给初学者一个初步介绍。

软件及平台
FreeBSD (Server and Client)
Server IP:172.18.5.251 Hostname: freebsd-1
Client IP:172.18.5.247 Hostname: freebsd-2

目的
备份 Rsync Server(172.18.5.251)上的 /usr/local/www/data-dist 目录下所有内容,到 Rsync Client(172.18.5.247)的/backup/www 下。

安装及配置

一,Rsync Server

Step 1: 安装
freebsd-1#cd /usr/ports/net/rsync
freebsd-1#make install clean

Step 2: 配置 rsyncd.conf
freebsd-1#vi /usr/local/etc/rsyncd.conf //加入以下内容

[www]
comment = web server backup
path = /usr/local/www/data-dist
auth users = tonny
uid = nobody
gid = nogroup
secrets file = /usr/local/etc/rsyncd.secrets
read only = no

Step 3: 配置 rsyncd.secrets
freebsd-1#vi /usr/local/etc/rsyncd.secrets //加入以下内容
tonny:123456 // 认证所需的用户名/密码
freebsd-1#chmod 600 rsyncd.secrets

Step 4: 配置 rc.conf //这步视情况增加
freebsd-1#vi /etc/rc.conf //加入以下内容
rsyncd_enable=”YES”

Step 5: 启动 Rsync daemon 模式
freebsd-1#vi /usr/local/etc/rc.d/rsyncd.sh //加入以下内容
command_args=”-4 –daemon” < <<— 启用 ipv4 协议
freebsd-1#/usr/local/etc/rc.d/rsyncd.sh start

Step 6: 检查 Rsync daemon 启动状态
freebsd-1# sockstat | grep rsync
root rsync 440 3 dgram -> /var/run/log
root rsync 440 4 tcp4 *:873 *:*
二,Rsync Client

Step 1: 安装
freebsd-2#cd /usr/ports/net/rsync
freebsd-2#make install clean

Step 2: 建立备份目录
freebsd-2#cd /
freebsd-2#mkdir -p backup/www

Step 3: 配置 rsyncd.secrets
freebsd-2#vi /usr/local/etc/rsyncd.secrets //加入以下内容
123456 //Rsync Server 上的认证密码,不用输入用户名
freebsd-2#chmod 600 rsyncd.secrets

Step 4: 检查备份同步状态
freebsd-2#/usr/local/bin/rsync -avzP –delete –password-file=/usr/local/etc/rsyncd.secrets tonny@172.18.5.251::www
/backup/www/
注意:参数 z 在备份已压缩过的文件时(如 rar,zip),请去掉,否则对速度有很大影响。
—>>> 将 Rsync Server 的 Web 页面,备份或同步到了 Rsync Client 的/backup/www 下

Step 5: Auto Rsync Shell:
freebsd-2#cd /usr/local/etc/rc.d/
freebsd-2#chmod a-x rsyncd.sh
freebsd-2#vi rsync.sh //加入以下内容

三,高级应用(Rsync With SSH)
Rsync Server
freebsd-1#/usr/bin/ssh-keygen -d

Rsync Client
freebsd-2#/usr/bin/ssh-keygen -d
freebsd-2#scp ~/.ssh/id_dsa.pub 172.18.5.251:/root/.ssh/authorized_keys
freebsd-2#ssh-agent csh 或 (ssh-agent bash) —>>> #echo $SHELL
查看当前 SHELL
freebsd-2#ssh-add id_dsa —>>> 输入 passphase

freebsd-2#/usr/local/bin/rsync -avzP –delete -e ssh 172.18.5.251:/usr/local/www/data-dist/ /backup/www/

PS: 参数说明
-a, –archive archive mode, equivalent to -rlptgoD
//档案模式
-v, –verbose
//详细模式
-z, –compress compress file data
//压缩文件
-P equivalent to –partial –progress
//显示进度
–delete
This tells rsync to delete any files on the receiving side
that
aren’t on the sending side.
//保持远程机器的文件同步性
-e ssh use SSH connection
//使用 SSH 连接,保证数据安全

参考:
http://rsync.samba.org/ rsync 网站
http://www.freebsd.org/doc/en_US.ISO…k/openssh.html
freebsd handbook 手册

转载 http://www.twvbb.com/vbb/post/10884/32/
 


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Freebsd or Linux 可以使用 RSYNC 进行热备份
喜欢 (0)