陈奇网络工作室

rsync远程同步——(实战!)

系统运输

关于rsync

快速增量备份工具

远程同步,远程同步

支持本地复制或与其他SSH、rsync主机同步

配置rsync源服务器

rsync同步源

备份操作中的远程服务器,也称为备份源

配置rsync源

基本的想法

rsync.conf配置文件,创建独立的帐户文件

启用rsync的--daemon模式

适用例

用户backuper,允许下行同步

操作的目录为/var/www/html

配置文件rsyncd.conf

必须手动创建。 语法类似于Samba配置

身份验证设置auth users、secrets file,否则为匿名

rsync帐户文件

以“用户名:密码”的记录格式,每行一条用户记录

独立帐户数据,不依赖系统帐户

启用rsync服务

- -通过--daemon独自提供服务

运行kill $(cat /var/run/rsync.pid )退出rsync服务

使用rsync备份工具

rsync命令的使用方法

rsync [可选]原始位置目标位置

常用选项

-a :用于归档模式、递归保留对象属性等-rlptgoD

-v :显示同步进程的详细信息

-z :传输文件时压缩

-H :保存硬连接文件

- a :保存ACL属性信息

--delete :删除位于目标位置但不在原始位置的文件

--checksum :根据对象的校验和确定是否跳过文件

设置源的两种显示方式

格式1 :用户名@主机地址:共享模块名称

格式2:rsync://用户名@主机地址/共享模块名称

rsync实时同步

缺乏定期同步

执行备份的时间固定,延迟明显,实时性差

如果同步源长期不变,则不需要密集的定期任务

实时同步的优点

如果同步源发生更改,请立即开始备份

除非对同步源进行了更改,否则不会执行备份

关于inotify (安装在启动器上)

Inotify是Linux的一个特性,它监视文件系统操作,如读取、写入和创建。 Inotify响应迅速,使用非常简单,比cron任务的繁忙轮询效率要高得多。

能够监视文件系统的变化,进行通知应答;

辅助软件:信息工具

实验环境

rsyncd服务器192.168.13.128

客户端服务器192.168.13.129

1 .在rsyncd服务器上修改配置文件

[root@rsyncd ~]# rpm -q rsync

rsync-3.0.9-18.el7.x86_64

[ root @ rsyncd~] # vim/etc/rsyncd.conf

uid=nobody ##匿名用户

gid=nobody

use chroot=yes ##禁锢的主目录

pidfile=/var/run/rsyncd.PID # # PID文件

地址=192.168.13.128 # #监听地址

端口=873 # #端口号

log file=/var/log/rsyncd.log ##日志文件路径

允许访问hosts allow=192.168.13.0/24 ##地址段

dont compress=*.gz *.tgz *.zip *.z *.z *.rpm *.deb *.bz2 # #不需要压缩的类型

[wwwroot] ##共享模块名称

path=/var/www/html ##路径

comment= www.kgc.com ##定义名称

只读=是# #只读

auth users=backuper ##认证用户名

secrets file=/etc/rsyncd _ users.db # #密码文件

[ root @ rsyncd~] # vim/etc/rsyncd _ users.db # #创建密码文件

backuper:123123 ##用户名:密码

[ root @ rsyncd~] # chmod 600/etc/rsyncd _ users.db # #授予root用户读写权限

[ root @ rsyncd~] # rsync-- daemon # # rsync启动服务

[ root @ rsyncd~] #显示netstat-ntap|grep rsync # #端口

TCP 0192.168.13.128:8730.0.0.0:* listen 36346/rsync

[ root @ rsyncd~] #关闭systemctlstopfirewalld.service # #防火墙

[root@rsyncd ~]# setenforce 0

[ root @ rsyncd~] # yuminstallhttpd-y # # httpd服务安装

[ root @ rsyncd~] # CD/var/www/html /

[ root @ rsyncd html ] # echothisistestwebindex.html # #创建网页信息

[root@rsyncd html]# cd ./

[ root @ rsyncd www ] # chmod 777 html/# #赋予最大权限,允许任何用户进行操作

2 )在客户端服务器上,抽取同步源的rsyncd

[ root @ client~] #关闭systemctlstopfirewalld.service # #防火墙

[root@client ~]# setenforce 0

检查是否安装了[ root @ client~] # rpm-q rsync # # rsync服务

rsync-3.0.9-18.el7.x86_64

[ root @ client~] # yuminstallhttpd-y # # httpd服务安装

[root@client ~]# cd /var/www/

[ root @ client www ] # chmod 777 html/# #赋予最大权限

[ root @ client www ] # rsync-avz backuper @ 192.168.13.128: ww root/var/www/html /

拉出##共享模块

Password: ##输入密码

[ root @ client www ] # cathtml/index.html # #查看同步

this is test web

[ root @ client www ] # RM-RF html/index.html

[ root @ client www ] # vim/etc/server.pass # #创建本地密码文件

123123

[ root @ client www ] #授予chmod 600/etc/server.pass # #权限

[ root @ client www ] # rsync-avz-- delete-- password-file=/etc/server.pass backuper @ 192.168.13.128:www

#指定本地密码文件,删除位于目标位置但不在原始位置的文件,避免交互

3、在客户端安装inotify监视

[ root @ client www ] # vim/etc/sysctl.conf # #修改内核参数文件

fs.inotify.max _ queued _ events=16384 # #队列

fs.inotify.max _ user _ instances=1024 # #每个队列的实例数

fs.inotify.max _ user _ watches=1048576 # #每个实例的文件数

[root@client www]# sysctl -p ##加载

[ root @ client www ] # mount.CIFS//192.168.100.3/lnmp-C7/mnt/# #挂载

passwordforroot @//192.168.100.3/lnmp-C7 :

[root@client www]# cd /mnt/

[ root @ client mnt ] # tarzxvfinotify-tools-3.14.tar.gz-c/opt/# # inotify解压到/opt

[root@client mnt]# cd /opt/

[ root @ client opt ] # CD inotify-tools-3.14 /

[ root @ client inotify-tools-3.14 ] # yuminstallgccgcc-cmake-y # #安装环境所需的组件

[ root @ client inotify-tools-3.14 ] #./configure # #配置

[ root @ client inotify-tools-3.14 ] # make make install # #编译安装

[ root @ client inotify-tools-3.14 ] # inotify wait-mrq-emodify,create,move,delete /var/www/html/

#进行监视

#重新启动并打开客户端终端

[ root @ client~] # CD/var/www/html /

[root@client html]# touch abc

[root@client html]# rm -rf abc

#在监控客户端查看

/var/www/html/CREATE abc

/var/www/html/DELETE abc

4 )在客户端编写脚本,通过inotifywait启动rsync同步操作脚本

[ root @ client inotify-tools-3.14 ] # CD/opt /

[root@client opt]# vim inotify.sh

#! /bin/bash

inotify _ cmd=inotify wait-mrq-emodify,create,move,delete /var/www/html/

rsync _ cmd=rsync-avz-- delete-- password-file=/etc/server.pass/var/www/html/backuper @ 192.168。

$ inotify _ cmd|whilereaddirectoryeventfile

do

if[$(pgreprsync|WC-L )-le 0 ] ); then

$RSYNC_CMD

fi

[ root @ client opt ] # chmodxinotify.sh # #赋予执行权限

#确保服务器端和客户端的权限都最大

5 .在rsyncd服务器上修改配置文件

[ root @ rsyncd www ] # vim/etc/rsyncd.conf

只读=否# #关闭只读

[ root @ rsyncd www ] # netstat-natp|grep rsync

TCP 0192.168.13.128:8730.0.0.0:* listen 36346/rsync

关闭[root@rsyncd www]# kill -9 36346 ##

[ root @ rsyncd www ] # netstat-natp|grep rsync

删除[ root @ rsyncd www ] # RM-RF/var/run/rsyncd.PID # # PID文件

[ root @ rsyncd www ] # rsync-- daemon # # rsync启动服务

6 .在客户端上运行inotify脚本文件

[root@client opt]# ./inotify.sh

#重新启动客户终端

[ root @ client html ] #添加echothisistesttest.txt # #文本

#显示监视服务信息

[root@client opt]# ./inotify.sh

发送增量文件列表

//

rsync:failedtosettimeson/. ( inwwroot ):Operation not permitted (1)1) )。

test.txt

sent 121 bytes received 30 bytes 302.00 bytes/sec

total size is 30 speedup is 0.20

ryn cerror:some files/attrswerenottransferred ( seepreviouserrors ( code 23 ) atmain.c ) 1052 ) [sender=3.0.9] )

发送增量文件列表

sent 66 bytes received8bytes 148.00 bytes/sec

total size is 30 speedup is 0.41

7 .在rsync服务器上查看

[root@rsyncd www]# cd html/

[root@rsyncd html]# ls

index.html test.txt ##同步完成

#删除也已同步

谢谢你读给我听!

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3