rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。
它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。[1]
系统环境:
Server :A:centos 5.6 IP:192.168.1.125
Client :B:linux 5.5IP:192.168.1.123
A和B都要安装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
在client:B配置
[root@localhost /]# rsync --list-only [email protected]::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 [email protected]::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 [email protected]::soft /soft/bk///此时不需要输入密码了
客户端,可以写脚本并把它放到cron计划任务中去执行
[root@localhost /]# crontab –e
0422***rsync -av --password-file=/etc/server.pass [email protected]::soft /
[root@localhost /]# service crond restart
Stopping crond:[OK]
Starting crond:[OK]
[root@localhost /]# crontab –l//查看任务列表避免未保存
0422***rsync -av --password-file=/etc/server.pass [email protected]::soft /
到此一个简单的备份系统就搭建完成