网站项目建设的组织机构,怎么买到精准客户的电话,传奇网页游戏制作,网站建设开发合同书(终极版)目录
一、Rsync 简介
二、同步方式
备份的方式
三、常用Rsync命令
四、配置源的两种表达方法
五、配置服务端与客户端的实验 启动 rsync 服务程序 发起端#xff08;192.168.158.21#xff09;
编辑
六. 发起端#xff08;客户端#xff09;配置 rsyncinotify
c…目录
一、Rsync 简介
二、同步方式
备份的方式
三、常用Rsync命令
四、配置源的两种表达方法
五、配置服务端与客户端的实验 启动 rsync 服务程序 发起端192.168.158.21
编辑
六. 发起端客户端配置 rsyncinotify
client 192.168.158.20
编辑 server192.168.158.21 一、Rsync 简介
rsyncRemote Sync远程同步 是一个开源的快速备份工具可以在不同主机之间镜像同步整个目录树支持增量备份并保持链接和权限且采用优化的同步算法传输前执行压缩因此非常适用于异地备份、镜像服务器等应用。
在远程同步任务中负责发起rsync同步操作的客户机称为发起端而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中同步源负责提供文件的原始位置发起端应对该位置具有读取权限。
Rsync 是 Linux 系统下的数据镜像备份工具使用快速增量备份工具 Remote Sync 可以远程同步 可以在不同主机之间进行同步可实现全量备份与增量备份保持链接和权限且采用优化的同步算法 传输前执行压缩因此非常适合用于架构集中式备份或异地备份等应用。同时Rsync支持本地复制或者与其他 SSH、rsync 主机同步
端口 873 二、同步方式
1完整备份每次备份都是从备份源将所有的文件或目录备份到目的地。 2差量备份备份上次完全备份以后有变化的数据他针对的上次的完全备份他备份过程中不清除存档属性。 3增量备份备份上次备份以后有变化的数据他才不管是那种类型的备份有变化的数据就备份他会清除存档属性
备份的方式
1、发起端负责rsync 同步操作的客户机叫做发起端通知服务器我要备份你的数据 2、备份源负责响应来自客户机rsync 同步操作的服务器叫做备份源需要备份的服务器 3、服务端运行rsyncd服务一般来说需要备份的服务器 4、客户端存放备份数据
三、常用Rsync命令
基本格式rsync [选项] 原始位置 目标位置
常用选项
-r:递归模式包含目录及子目录中的所有文件。-l:对于符号链接文件仍然复制为符号链接文件。-v显示同步过程的详细verbose信息。-z在传输文件时进行压缩compress。-a归档模式保留文件的权限、属性等信息等同于组合选项“-rlptgoD”。-p保留文件的权限标记。-t保留文件的时间标记。-g保留文件的属组标记仅超级用户使用。-o保留文件的属主标记仅超级用户使用。-H保留硬连接文件。-A保留 ACL 属性信息。-D保留设备文件及其他特殊文件。 --delete 删除目标位置有而原始位置没有的文件。--checksum根据校验和而不是文件大小、修改时间来决定是否跳过 文件。
四、配置源的两种表达方法
格式一
用户名主机地址::共享模块名
rsync -avz backuper192.168.158.20::wwwroot /opt/格式二
rsync://用户名主机地址/共享模块名
rsync -avz rsync://backuper192.168.158.20/wwwroot /opt/五、配置服务端与客户端的实验
前提首先关闭防火墙和增强功能
关闭防火墙
systemctl stop firewalld
setenforce 0实验
192.168.158.20 服务端
192.168.158.21 客户端 ① 配置rsync源服务器192.168.158.20
rpm -q rsync #一般系统已默认安装rsync#建立/etc/rsyncd.conf 配置文件
vim /etc/rsyncd.conf #添加以下配置项
uid root
gid root
use chroot yes #禁锢在源目录
address 192.168.158.20 #监听地址
port 873 #监听端口 tcp/udp 873可通过cat /etc/services | grep rsync查看
log file /var/log/rsyncd.log #日志文件位置
pid file /var/run/rsyncd.pid #存放进程 ID 的文件位置
hosts allow 192.168.158.0/24 #允许访问的客户机地址
dont compress *.gz *.bz2 *.tgz *.zip *.rar *.z #同步时不再压缩的文件类型[wwwroot] #共享模块名称
path /var/www/html #源目录的实际路径
comment Document Root of www.kgc.com
read only yes #是否为只读
auth users backuper #授权账户多个账号以空格分隔
secrets file /etc/rsyncd_users.db #存放账户信息的数据文件#如采用匿名的方式只要将其中的“auth users”和“secrets file”配置项去掉即可。 #为备份账户创建数据文件
vim /etc/rsyncd_users.db
backuper:123456 #无须建立同名系统用户。backuper为用户名123456为密码 chmod 600 /etc/rsyncd_users.db 保证所有用户对源目录/var/www/html 都有读取权限 chmod r /var/ www/ html/ls -ld /var/www/html/ 启动 rsync 服务程序
rsync --daemon #启动 rsync 服务以独立监听服务的方式守护进程运行 netstat -anpt | grep rsync
tcp 0 0 192.168.158.20:873 0.0.0.0:* LISTEN 42043/rsync 关闭rsync 服务
kill $(cat /var/run/rsyncd.pid) rm -rf /var/run/rsyncd.pid 发起端192.168.158.21
关闭防火墙
systemctl stop firewalld
setenforce 0yum install -y rsync #安装rsync
cd /opt/ #切换到opt目录下
mkdir haha #创建haha目录
chmod 777 haha/ #赋权777vim /etc/server.pass
123123chmod 600 /etc/server.pass crontab -e
30 22 * * * /usr/bin/rsync -az --delete --password-file/etc/server.pass backuper192.168.10.18::wwwroot /opt/
#为了在同步过程中不用输入密码需要创建一个密码文件保存 backuper 用户的密码如 /etc/server.pass。在执行 rsync 同步时使用选项 “--password-file/etc/server.pass” 指定即可。systemctl restart crond
systemctl enable crond 六. 发起端客户端配置 rsyncinotify
使用inotify通知接口可以用来监控文件系统的各种变化情况如文件存取、删除、移动、修改等。利用这一机制可以非常方便地实现文件异动告警、增量备份并针对目录或文件的变化及时作出响应。
将inotify机制与rsync工具相结合可以实现触发式备份实时同步即只要原始位置的文档发生变化则立即启动增量备份操作否则处于静默等待状态。这样就避免了按固定周期备份时存在的延迟性、周期过密等问题。
因为 inotify 通知机制由 Linux 内核提供因此主要做本机监控在触发式备份中应用时更适合上行同步。
client 192.168.158.20
vim /etc/rsyncd.conf
read only nokill cat /var/run/rsyncd.pid
netstat -natp | grep rsyncrsync --daemon
netstat -natp | grep rsyncchmod 777 /var/www/htmlserver192.168.158.21
在Linux内核中默认的inotify机制提供了三个调控参数
max_queue_events监控事件队列默认值为16384、
max_user_instances最多监控实例数默认值为128、
max_user_watches每个实例最多监控文件数默认值为8192。当要监控的目录、文件数量较多或者变化较频繁时建议加大这三个参数的值。cat /proc/sys/fs/inotify/max_queued_events
cat /proc/sys/fs/inotify/max_user_instances
cat /proc/sys/fs/inotify/max_user_watchesvim /etc/sysctl.conf
fs.inotify.max_queued_events 16384
fs.inotify.max_user_instances 1024
fs.inotify.max_user_watches 1048576sysctl -p yum -y install gcc gcc-c #放入安装包
tar zxvf inotify-tools-3.14.tar.gz -C /optcd /opt/inotify-tools-3.14/./configure
make -j8 make install #可以先执行“inotifywait”命令然后另外再开启一个新终端向 /var/www/html 目录下添加文件、移动文件在原来的终端中跟踪屏幕输出结果。
inotifywait -mrq -e modify,create,move,delete /var/www/html#选项“-e”用来指定要监控哪些事件
#选项“-m”表示持续监控
#选项“-r”表示递归整个目录
#选项“-q”简化输出信息
在另外一个终端编写触发式同步脚本注意脚本名不可包含 rsync 字符串否则脚本不生效
vim /opt/inotify.sh
#!/bin/bash
INOTIFY_CMDinotifywait -mrq -e create,delete,move,modify,attrib /opt/haha/
RSYNC_CMDrsync -azH --delete --password-file/etc/server.pass /opt/haha/ backuper192.168.184.10::wwwroot$INOTIFY_CMD | while read DIRECTORY EVENT FILE
doif [ $(pgrep rsync | wc -l) -le 0 ] ; then$RSYNC_CMDfi
done chmod x /opt/inotify.sh
chmod 777 /var/www/html/
chmod x /etc/rc.d/rc.local
echo /opt/inotify.sh /etc/rc.d/rc.local #加入开机自动执行