rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync

它的特性如下:

可以镜像保存整个目录树和文件系统。

可以很容易做到保持原来文件的权限、时间、软硬链接等等。

无须特殊权限即可安装。

快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

安全:可以使用scpssh等方式来传输文件,当然也可以通过直接的socket连接。

支持匿名传输,以方便进行网站镜象。[1]

系统环境:

Server :A:centos 5.6 IP:192.168.1.125 

Client :B:linux 5.5IP:192.168.1.123

AB都要安装RSYNC软件

rsync安装

[root@localhost rsync]# ls

inotify-tools-3.14.tar.gzrsync-3.0.4.tar.gz

ocaml-3.10.2.tar.gzunison-2.32.52.tar.gz

[root@localhost rsync]#

[root@localhost rsync-3.0.4]# tar zxvf rsync-3.0.4.tar.gz

[root@localhost rsync]# cd rsync-3.0.4

[root@localhost rsync-3.0.4]# ./configure ;make ; make install

server:A上配置

[root@localhost /]# vim /etc/rsyncd.conf//安装默认是没有的,需手动创建

uid = nobody

gid = nobody

use chroot = no

max connections = 10

strict modes = yes

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[soft]

path = /soft

comment = soft file

ignore errors

read only = no

write only = no

hosts allow = *

hosts deny = 192.168.12.123

list = false

uid = root

gid = root

auth users = backup

secrets file = /etc/server.pass//文件不做解释看懂的

[root@localhost /]# vim /etc/server.pass//手动创建的

backup:back12345

[root@localhost /]# chmod 600 /etc/server.pass

[root@localhost /]# /usr/local/bin/rsync –daemon//启动rsync守护进程

[root@localhost /]# ps -ef |grep rsync

root946010 07:39 ?00:00:00 /usr/local/bin/rsync –daemon

clientB配置

[root@localhost /]# rsync --list-only backup@192.168.1.125::soft //查看服务端要同步的文件

Password: 

drwxr-xr-x4096 2013/03/25 07:20:02 .

drwxr-xr-x4096 2013/03/25 07:23:06 rsync

[root@localhost /]#rsync -av backup@192.168.1.125::soft /tmp///同步到本地

Password: //输密码

receiving incremental file list

./

rsync/

rsync/rsync-3.0.4.tar.gz

把服务器同步目录的内容同步到本地,使用密码文件。(我们在写脚本的时候必用的)

[root@localhost /]# more /etc/server.pass //手动创建

back12345

[root@localhost /]#rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft /soft/bk///此时不需要输入密码了

客户端,可以写脚本并把它放到cron计划任务中去执行

[root@localhost /]# crontab –e

0422***rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft / 

[root@localhost /]# service crond restart

Stopping crond:[OK]

Starting crond:[OK]

[root@localhost /]# crontab –l//查看任务列表避免未保存

0422***rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft /

到此一个简单的备份系统就搭建完成