对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题,在我所了解
的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对备分镜像的技术相当感兴趣,但商业产品的软硬件价格都相当高
昂,因此往往会选择自由软件.这里准备介绍的rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求.
一、特性简介
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.它的特性如下:
1、可以镜像保存整个目录树和文件系统.
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等.
3、无须特殊权限即可安装.
4、优化的流程,文件传输效率高.
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接.
6、支持匿名传输.
1. 确保系统已安装rsync
dpkg –l rsync
如果没有安装
apt-get install rsync
2. 建立rsyncd.conf配置文件
log file=/var/log/rsyncd.log
lock file=/var/run/rsyncd.lock
motd file = /var/run/rsyncd.motd
list = yes
uid = root
gid = root
use chroot = yes
max connections = 5
syslog facility = local5
hosts allow=IP
hosts deny=*
[site]
#需要做镜像的目录
path = /var/www/
#注释
comment = Backup Client Of site data
#默认为0,意no timeout,建议为600(10分钟)
timeout = 600
#只读
read only = yes
#允许客户端进行列出操作
list = yes
#记录下传输记录
transfer logging = yes
#日志格式
log format = %a-%o-%a-%m-%u-%f-%l
#认证的用户名,如果没有这行,则表明是匿名
auth users = xiao
#认证文件名,权限为(600)
secrets file = /etc/rsyncd.passwd
3. 建立rsyncd.passwd文件
User:passwd
如 xiao(用户名):xiao(密码)
客户端配置
1. 在/etc下建立rsyncd.psswd
里面只写密码
xiao(密码)
说明:
1)拷贝本地文件.当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式.如:rsync -a /data /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器.当DST路径地址包含单个冒号":"分隔符时启动该模式.如:rsync -avz *.c foo:src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器.当SRC地址路径包含单个冒号":"分隔符时启动该模式.如:rsync -avz foo:src/bar /data
4)从远程rsync服务器中拷贝文件到本地机.当SRC路径信息包含"::"分隔符时启动该模式.如:rsync -av root@172.16.78.192::www /databack
5)从本地机器拷贝文件到远程rsync服务器中.当DST路径信息包含"::"分隔符时启动该模式.如:rsync -av /databack root@172.16.78.192::www
6)列远程机的文件列表.这类似于rsync传输,不过只要在命令中省略掉本地机信息即可.如:rsync -v rsync://172.16.78.192/www
rsync参数的具体解释如下:
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename.可以使用--suffix选项来指定不同的备份文件前缀.
--backup-dir 将备份文件(如~filename)存放在在目录下.
-suff |