rsync + crond ==定时数据同步
sersync(inotify) + rsync ==实时数据同步,利用rsync实现
##应用场景
..1 主备服务器之间同步数据定时 ==配合crond sersync inotify等实现
##rsync的安装配置与使用
服务端
..1 安装
centos6.5已经安装了rsync
rpm -qa | grep rsync
如果没有,用下面两种方式之一安装
yum install rsync
rpm -ivh rsyn.xxxxxxxxx.rpm ==这个要自己去寻找一下rpm的安装包,推荐直接使用yum的安装方式
..2 配置
..2.1三个配置文件,这几个文件都需要手动创建
touche /etc/rsyncd.d/rsyncd.conf ==主配置文件
touche /etc/rsyncd.d/rsyncd.secrets ==用户名和密码配置文件
touche /etc/rsyncd.d/rsyncd.motd ==客户端登录的提示信息
chmod 600 touche /etc/rsyncd.d/rsyncd.secrets ==密码文件要注意权限的安全性
..2.1.1 /etc/rsyncd.d/rsyncd.conf
# Distributed under the terms of the GNU General Public License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.202.100
#uid = nobody
#gid = nobody
uid = rsyncd #软件使用哪一个用户操作本地的文件
gid = rsyncd
use chroot = no
read only = no #可以读写的意思
#limit access to private LANs
hosts allow=192.168.202.0/255.255.255.0 10.0.1.0/255.255.255.0
hosts deny=*
max connections = 5
motd file = /etc/rsyncd.d/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
##下面是两个模块module,客户端来访问的时候是使用中括号中的模块儿名
[100data1] ##模块名
path = /backup/data1 ##真实的路径
list=yes ##是否允许list
ignore errors
auth users = root
secrets file = /etc/rsyncd.d/rsyncd.secrets
comment = This is 100 server data1
exclude = ##list的时候会显示
[100data2]
path = /backup/data2
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd.d/rsyncd.secrets
comment = This is 100 server data2
exclude =
..2.1.2、 /etc/rsyncd.d/rsyncd.secrets
服务端的密码文件,可以写多个用户,这里的
..2.1.3 /etc/rsyncd.d/motd 客户端使用的时候的提示文本
..2.2启动
/usr/bin/rsync --daemon --config=/etc/rsyncd.d/rsyncd.conf
以daemon方式运行起来,端口就是配置文件里面的873
..2.3 新建目录,用户同步数据的目录,从配置文件中看出目录是 /backup/data1 /backup/data2
mkdir –p /backup/data1
mkdir –p /backup/data2
chown –R rsyncd /backup/data1 ==让配文件的用户对此文件有读写的权限
chown –R rsyncd /backup/data2 ====让配文件的用户对此文件有读写的权限
客户端
..1 安装
centos6.5已经安装了rsync
rpm -qa | grep rsync
如果没有,用下面两种方式之一安装
yum install rsync
rpm -ivh rsyn.xxxxxxxxx.rpm
..2 配置 和 建立目录文件
touch /etc/rsyncd.d/rsyncd.secrets 在里面写入密码
chmod 600 /etc/rsyncd.d/rsyncd.secrets ==这个是为了安全
mkdir –p /backup/data1
mkdir –p /backup/data2
..3 连接服务器端使用
..3.0 man rsync
..3.1 list
rsync --list-only rsync://root@192.168.202.100 这个不需要密码,直接就看见了
..3.2 上传
rsync -avzp –password file=/etc/rsyncd.d/rsyncd.secrets /backup/data2/ rsync://root@192.168.202.100:/100data2
..3.3 下载
rsync -avzp --password-file=/etc/rsyncd.d/rsyncd.secrets rsync://root@192.168.202.100:/100data2 .