rsync是Linux、UNIX系统下的数据镜像备份工具,它的特性如下:
1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3、无须特殊权限即可安装。
4、优化的流程,文件传输效率高。
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
6、支持匿名传输。
二、Rsync的安装
rpm -qa|grep rsync #查看是否已经安装rsync
mount -t iso9660 -o loop XXX.iso /mnt # 如果没有安装,挂在CentOS DVD光盘
cd /mnt/CentOS
rpm -ivh XXXXX.rpm #安装rpm包
三、Rsync的配置
主服务器 192.168.77.1
客户端 192.168.77.*
#建立配置文件
cd /etc
mkdir rsyncd
cd rsyncd
vi rsyncd.conf 【保证文件中每行都没有空格】
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.77.1
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
#设置可访问的主机:如果多个ip则用空格隔开:192.168.0.3 192.168.0.4 192.168.0.5或者设置区间 192.168.0.3/5
hosts allow=192.168.77.0/24;192.168.88.0、24
hosts deny=*
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
#This will give you a separate log file
log file = /var/log/rsync.log
#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[test1] #测试一
path = /backup #要同步服务器的目录路径
list=yes
ignore errors
#auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = ljzhou,rsyncsir
auth users = ljzhou
#从服务器访问需要的密码文件
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir tmp
#设置不同步的目录或文件用空格隔开
exclude = test/ test.php
创建修改密码文件rsyncd.secrets
cd /etc/rsyncd
echo "root:111111" > rsyncd.secrets
创建rsync.motd文件
echo Welcome! > /etc/rsyncd/rsyncd.motd
创建xinetd服务
cd /etc/xinetd.d
vi rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon --config=/etc/rsyncd/rsyncd.conf
log_on_failure += USERID
}
service xinetd restart
四、客户端安装运行
/usr/bin/rsync -vzrtopg --progress --delete root@192.168.77.1::software /softwareBAK
输入密码即可同步,如果要免输入密码,需要指定密码文件
echo 111111 > /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets
/usr/bin/rsync -vzrtopg --progress --delete root@192.168.77.1::software /softwareBAK --password-file=/etc/rsyncd/rsync.secrets