中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>BSD>FreeBSD>列表

rsync on FreeBSD how to

来源:剑心通明的blog 作者: 时间:2007-12-15 点击:

  前言

  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连接,保证数据安全

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册