rsync 文件传输和数据传输;
系统:CentOs64x64
A服务器 192.168.0.83
B服务器 192.168.0.106
yum 安装;
[root@test17 ~]# yum install rsync -y
A服务器操作:
配置 rsync 服务器的步骤;
首先要选择服务器启动方式
对于负荷较重的 rsync 服务器应该使用独立运行方式
对于负荷较轻的 rsync 服务器可以使用 xinetd 运行方式
创建配置文件 rsyncd.conf
对于非匿名访问的 rsync 服务器还要创建认证口令文
默认安装时候没有这个文件 可以手动创建;
# vi /etc/rsyncd.conf
############################
uid = rsync
gid = rsync
use chroot = no
max connections = 300
timeout = 300
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup/ # 备份的目录
comment = backup file
ignore errors
read only = no
write only = no
hosts allow = * # (可以连接的任何)
hosts deny = 192.168.0.100 #(禁止连接的主机IP)
list = false
uid = root
gid = root
auth users = test # 设置通讯用户
secrets file = /etc/rsync.passwd # 用户密码的文件
创建相对应的目录
# mkdir /backup
建立用户及密码
# echo test:password >> /etc/rsync.passwd
修改权限
# chmod 600 /etc/rsync.passwd
查找路径
# which rsync
启动服务
# /usr/bin/rsync --daemon
查看进程;
# ps -ef |grep rsync
相关端口默认为873
# netstat -lnt
开机自启动
# chkconfig rsync on
或者
# echo '/usr/bin/rsync --daemon'>> /etc/rc.local
在A服务器上创建个目录实验;
B服务器操作
# yum install rsync
设置密码
# echo password >> /etc/rsync.passwd
修改权限
# chmod 600 /etc/rsync.passwd
创建备份目录
# mkidr /backup
实施同步
# rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd [email protected]::backup /backup
可以添加 --exclude 用于查出不需要传输的文件类型;
例如:
--exclude "debug" --exclude "*access"
rsync 文件同步和数据传输;有四种的应用模式“:
1、本地shell模式
服务一个目录到另一个目录
# rsync -av file4/ /backup/file2
2、远程shell模式
# rsync -av /backup/file4 192.168.0.106:test
会在远程的艮目录下创建一个 test 然后将file目录复制;不带斜杠就是目录下的所有文件;
注意:
上面A服务器中 rsyncd.conf 中PATH 加/ 和 不加/ 是有区别的;
/backup和backup/就是有区别的,多/的表示/backup目录下的信息不包含/backup本身;
还可以在B 服务器中 使用creatab 设置定时备份策略;
30 1 * * * rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd [email protected]::backup /backup
凌晨一点半操作执行备份;
3、列表模式;
# rsync -a /backup/file4 192.168.0.106:test
4、服务器模式 (好比企业远程容灾备份系统)
其实sync是扫描后文件再进行同步的;但是文件大了效率就会降下来了;有可能会出现服务器和客户端的数据不一致的;
所以可以同步rsync 和inotify 实现数据的实时同步;