rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync。它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
step
1.从原始网站下载:http://rsync.samba.org/ftp/rsync/
2.[root@localhost bin]#./configure
[root@localhost bin]#make
[root@localhost bin]#make install
说明一点,客户机和服务器都要安装rsync。客户机以客户端方式运行rsync,服务器端以服务器方式运行rsync,它监听873端口。
3.运行rsync
/usr/local/bin/rsync --daemon
验证启动是否成功:
netstat -na|grep 873
4.配置rsync
简单配置:编辑/etc/rsyncd.conf文件如下:
#全局配置部分
secrets file = /etc/rsyncd.secrets 认证用户名和密码文件的名称和位置
motd file = /etc/rsyncd.motd 欢迎信息文件名称和存放位置(此文件没有,可以自行添加)
read nly = yes
list = yes
uid = root
gid = root
#hosts allow = 10.4.5.213
#hosts deny = 10.4.5.0/24
use chroot = no
max connections = 5
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
#模块配置部分
[paolo]
comment = Paolo 's directory
path = /home/test/software
auth users = rsync
#secrets file = /etc/rsyncd.secrets
5.生成验证证文件
echo "rsync:rsync_password" >> /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
6.在客户端服务器同步服务器上的文件
rsync -vzrtopg --delete --progress rsync@10.4.5.161::paolo /china/
或加上--password-file=/etc/rsyncd.secrets选项
上面的命令把10.4.5.161服务器上的paolo模块中的目录的文件传送到本机/china目录中,并删除本机/china目录中在161服务器paolo模块指定目录中没有的文件。以使两台计算机的目录文件同步。
可以先使用rpm -qa |grep rsync 查看rsync是否已经安装
下面说说rsyns的配置过程
一. 配置服务器端
首先编辑 /etc/rsyncd.conf 内容如下:
uid = nobody #进行备份的用户 nobody为任何用户
gid = nobody #进行备份的组 nobody为任何组
use chroot = no #不使用chroot
max connections = 10 #最大连接数
log file = /var/log/rsyncd.log #日志文件
[rsyncd] # 这里是认证的模块名
path = /home/test/ #参与同步的目录
ignore errors # 可以忽略一些无关的IO错误
read nly = yes #只读
list = no #不允许列清单
anth users = root #认证的用户名
secrets file = /etc/rsyncd.secrets #密码文件存放地址
然后在/etc下面编辑一个rsyncd.secrets的密码存放文件
格式为
用户名:密码 如 root:xl1100
最后在server端将rsync以守护进程形式启动
命令为: rsync –daemon
rsync启动的端口为 873端口
二. 客户端的配置
在/etc下面编辑一个rsyncd.secrets的密码存放文件即可
执行命令为:
rsync -vzurtopg --progress --delete root@192.168.100.150::rsyncd /home/test --password-file=/etc/rsync.secret
参数 v 表示详细提示
z 表示压缩
u 表示只进行更新
topg 保持文件原有属性如属主、时间的参数
--progress 指显示
--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
root 为用户名
@192.168.100.150为服务器IP
::后面的rsyncd为认证的模块名
/home/test 为备份到本地的目录名
--password-file=/etc/rsync.secret 制定密码存放位置的地址
可以编写脚本 rsync.sh
#!/bin/sh
rsync -vzrtopg --progress --delete root@192.168.100.150::rsyncd /home/test --password-file=/etc/rsync.secret
然后将该脚本加入到/etc/crontab文件中 定时执行更新
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11783655/viewspace-442605/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11783655/viewspace-442605/