最新要闻
- 世界观焦点:AMD RX 7900 XTX渲染跑分性能曝光:感觉和RTX 4080两个时代
- 【热闻】国内电影票房已达285亿 《阿凡达2》成救命稻草:高价被指吃相难看
- 世界热推荐:为什么日本人更健康长寿?这12个“秘诀”值得借鉴
- 小米13 Pro长焦表现一绝:10cm至无穷远均可合焦
- 【报资讯】网传辽宁一有轨电车碾压电动自行车 官方回应:系剐蹭、人无碍
- 【世界速看料】新一代广汽本田皓影官图发布:大嘴变方嘴、可选7座
- 《原神》获TGA“玩家之声”奖!官方发800原石:全体都有
- 世界新动态:一部车骑10年!绿源推出INNO9-lite电动自行车:新国标 80km续航
- 天天快消息!NVIDIA发布527.56显卡驱动程序:DLSS 3游戏性能更强了
- 天天最资讯丨站起来了!哈弗H6插电混动版11月销量首超4000:直逼问界M5
- 东航官宣全球第一架C919商业首飞时间!这7大城市有福了
- 打爆丰田、本田混动SUV 比亚迪护卫舰07上市:20.28万起
- 天天微资讯!换代!AMD锐龙9 7950X3D来了:游戏性能比酷睿i9-13900K高出33%
- 【速看料】全国5G网络接入速率出炉:北京、上海都没抢到第一 移动最快
- 【世界新要闻】上线7年无敌手!《王者荣耀》11月吸金超13亿元:蝉联销冠
- 焦点日报:又拓新业务 比亚迪全新皮卡谍照曝光:DM混动没跑了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
rsync远程同步
一、rsync概述
1.1rsync的概念
- rsync,remote synchronize顾名思义就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。
- rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
- rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。 作用:做数据备份 备份方式:完全备份、增量备份
1.2rsync的应用
rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
(资料图片仅供参考)
1.3rsync源服务器
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
1.4scp和rsync区别
当文件数据很大时候 :SCP 无法备份大量数据 ;特点 : 先统一信息,像windows复制 RSYNC 边复制,边比较,边统计。
1.5rsync客户端 好处
优点: 第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。支持增量备份。选择性的保持 : 符号链接,硬链接,文件属性,权限 及时间 等。传输前执行压缩。适用于异地备份 ,镜像服务器等应用 。安全,使用ssh做为传输端口。【 sftp ,ssh】官网:http://rsync.samba.org
二、配置rsync源服务器
2.1 配置rsync源服务器的操作步骤
2.1.1 查看rsync是否安装(系统默认已装)
rpm -q rsync #一般系统已默认安装rsyn
2.1.2 建立/etc/rsyncd.conf 配置文件
vim /etc/rsyncd.conf #添加以下配置项uid = nobody #也可以为rootgid = nobody #也可以为rootuse chroot = yes #禁锢在源目录address = 192.168.10.100 #监听地址,监听本机地址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.10.0/24 #允许同步的客户机网段[wwwroot] #共享模块名称path = /var/www/html #源目录的实际路径(同步的目录)comment = Document Root of www.clj.comread only = yes #是否为只读dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z #同步时不再压缩的文件类型auth users = backuper #授权账户,多个账号以空格分隔secrets file = /etc/rsyncd_users.db #存放账户信息的数据文件-------------------------------------------------------------------------------uid = nobodygid = nobody use chroot = yes address = 192.168.10.100port 873 log file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pid hosts allow = 192.168.10.0/24[wwwroot] path = /var/www/html comment = Document Root of www.clj.comread only = yes dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z auth users = backuper secrets file = /etc/rsyncd_users.db----------------------------------------------------------------------------------#如采用匿名的方式,只要将其中的“auth users”和“secrets file”配置项去掉即可。
2.1.3 为备份账户创建数据文件
vim /etc/rsyncd_users.dbbackerup:123456 #无须建立同名系统用户 chmod 600 /etc/rsyncd_users.db
2.1.4 保证所有用户对源目录/var/www/html 都有读取权限
安装http服务:yum -y install httpdsystemctl start httpdsystemctl enable httpdchmod +r /var/www/html/ls -ld /var/www/html/ #以长格式显示文件目录权限drwxr-xr-x. 2 root root 6 2月 28 09:01 /var/www/html
2.1.5 启动 rsync 服务程序
rsync --daemon #启动 rsync 服务,以独立监听服务的方式(守护进程)运行 netstat -anpt | grep rsync
2.1.6 关闭 rsync 服务的方法
kill $(cat /var/run/rsyncd.pid)rm -rf /var/run/rsyncd.pid
2.2 实例操作:配置rsync源服务器的操作步骤
2.2.1查看rsync是否安装(系统默认已装)
2.2.2建立/etc/rsyncd.conf 配置文件
2.2.3为备份账户创建数据文件
2.2.4保证所有用户对源目录/var/www/html 都有读取权限
2.2.5启动 rsync 服务程序
2.2.6关闭 rsync 服务的方法
三、使用rsync备份工具
3.1rsync 命令的基本用法
基本格式: rsync [选项] 原始位置 目标位置
常用选项:
- -r: 递归模式,包含目录及子目录中的所有文件。
- -l: 对于符号链接文件仍然复制为符号链接文件。.
- -v: 显示同步过程的详细(verbose) 信息。
- -z: 在传输文件时进行压缩( compress) 。
- -a: 归档模式,保留文件的权限、属性等信息,等同于组合选项"-rlptgoD"。
- -p: 保留文件的权限标记。
- -t: 保留文件的时间标记。
- -g: 保留文件的属组标记(仅超级用户使用)。
- -o: 保留文件的属主标记(仅超级用户使用)。
- -H: 保留硬连接文件。
- -A: 保留ACL属性信息。
- -D: 保留设备文件及其他特殊文件。
- --delete: 删除目标位置有而原始位置没有的文件。
- --checksum:根据校验和(而不是文件大小、修改时间)来决定是否跳过文件。
3.2配置源的表示方法
在执行远程同步任务时,rsync 命令需要指定同步源服务器中的资源位置。rsync 同步源的资源表示方式为“用户名@主机地址::共享模块名”或者“rsync://用户名@主机地址/共享模块名”,前者为两个冒号分隔形式,后者为 URL 地址形式。例如,执行以下操作即可访问 rsync 同步源,将指定的资源下载到本地/root 目录下进行备份。
rsync -avz backuper@192.168.10.100::wwwroot /rootrsync -avz rsync://backuper@192.168.10.100/wwwroot /root
3.3实例操作:发起端进行rsync 备份
环境准备:
rsync源服务器:192.168.10.100 rsync(默认)、httpdrsync客户机(发起端):192.168.10.101 rsync(默认) 配置面交互
3.3.1将指定的资源下载到本地/opt 目录下进行备份
格式一:rsync -avz backuper@192.168.10.100::wwwroot /opt/ #密码123456 格式二:rsync -avz rsync://backuper@192.168.10.100/wwwroot /opt/
格式一:
格式二:
3.3.2免交互格式配置
cd /optrm -rf index.html echo "123456" > /etc/server.passchmod 600 /etc/server.pass # 免交互同步/usr/bin/rsync -avz --delete --password-file=/etc/server.pass backuper@192.168.10.100::wwwroot /opt/ ls /opt/ #查看是否同步成功 cat /opt/index.html #查看文件内容是否同步成功
加入到计划性任务中:
四、inotify+rsync 实时同步
4.1inotify+rsync 实时同步概述
- 使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应
- 将 inotify 机制与 rsync 工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化,则立即启动增量备份操作;否则处于静默等待状态
- 因为 inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步
4.2定期同步的不足
执行备份的时间固定,延迟明显、实时性差当同步原长期不变化时,密集的定期任务是不必要的
4.3实时同步的优点
一旦同步原出现变化,立即启动备份只要同步原无变化,则不执行备份
4.4Linux内核的inotify机制
从版本2.6.13开始提供可以监控文件系统的变动情况,并作出通知响应辅助软件:inotify-tools
4.5rsync+inotify实时同步
4.5.1调整inotify内核参数
max_queue_events:监控事件队列大小max_user_instances:最多监控实例数max_user_watches:每个实例最多监控文件数
4.5.2安装inotify-tools辅助工具
inotifywait:用于持续监控,实时输出结果inotifywatch:用于短期监控,任务完成后再出结果
4.5.3通过inodifywait触发rsync同步操作
使用while、read持续获取监控结果根据结果可以作进一步判断,决定执行何种操作
4.6配置inotify+rsync 实时同步的步骤
环境准备工作:(此实验是接着上面实验继续做的)服务器类型 IP地址 需要安装的组件rsync源服务器 192.168.10.100 rsync(默认)、httpdrsync客户机(发起端) 192.168.10.101 rsync(默认)、inotify-tools
4.6.1修改rsync源服务器(192.168.10.100)配置文件
vim /etc/rsyncd.conf......read only = no #关闭只读,上行同步需要可以写 kill `cat /var/run/rsyncd.pid` #杀掉rsyncd进程netstat -natp | grep rsync #查看进程是否被杀掉 rsync --daemon #重新开启netstat -natp | grep rsync #查看服务是否开启 chmod 777 /var/www/html #赋予权限
4.6.2调整 inotify 内核参数(在客户端配置:192.168.10.101)
在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_watches #每个实例最多监控文件数 vim /etc/sysctl.conf #加大每个参数fs.inotify.max_queued_events = 16384fs.inotify.max_user_instances = 1024fs.inotify.max_user_watches = 1048576 sysctl -p
4.6.3安装 inotify-tools(在客户端配置:192.168.10.101)
用 inotify 机制还需要安装 inotify-tools,以便提供 inotifywait、inotifywatch 辅助工具程序。notifywait:可监控modify(修改)、create(创建)、move(移动)、delete(删除)、attrib(属性更改)等各种事件,一有变动立即输出结果。inotifywatch:可用来收集文件系统变动情况,并在运行结束后输出汇总的变化情况。
#依赖环境mount /dev/cdrom /mnt #挂载磁盘yum install gcc gcc-c++ make -y#将压缩包inotify-tools-3.14.tar.gz上传至/opt目录下,然后进行解压tar zxvf inotify-tools-3.14.tar.gz -C /opt/ cd /opt/inotify-tools-3.14./configuremake && make install
执行“inotifywait”命令,然后在另一个终端向/var/www/html 目录下添加文件、移动文件,跟踪屏幕输出结果。执行下面命令后会进入监听模式,无法操作,所以需要另开一个终端页面进行作inotifywait -mrq -e modify,create,move,delete /opt
#选项“-e”:用来指定要监控哪些事件#选项“-m”:表示持续监控#选项“-r”:表示递归整个目录#选项“-q”:简化输出信息
4.6.4在客户端(192.168.10.101)编写触发式同步脚本
vim /opt/inotify.sh#!/bin/bashINOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/" #持续监控RSYNC_CMD="rsync -apzH --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.10.100::wwwroot/" #进行同步$INOTIFY_CMD #输出监控内容$INOTIFY_CMD | while read DIRECTORY EVENT FILE #遍历##while判断是否接收到监控记录do if [ $(pgrep rsync | wc -l) -le 0 ] ; then #判断是否正在执行同步 $RSYNC_CMD fidone chmod +x /opt/inotify.sh chmod +x /etc/rc.d/rc.localecho "/opt/inotify.sh" >> /etc/rc.d/rc.local #加入开机自动执行 mkdir -p /var/www/html/ #创建脚本中进行同步的目录 #注意!192.168.2.66 是远程同步服务器ip(即源端IP)!!
脚本内容:
#!/bin/bashINOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.10.100::wwwroot/"$INOTIFY_CMD | while read DIRECTORY EVENT FILE##while判断是否接收到监控记录do if [ $(pgrep rsync | wc -l) -le 0 ] ; then $RSYNC_CMD fidone
上述脚本用来检测本机/var/www/html 目录的变动情况,一旦有更新触发rsync同步操作,上传备份至服务器192.168.10.100的wwwroot 共享目录下。
触发式上行同步的验证过程如下:(1)在本机运行/opt/inotify_ rsync.sh 脚本程序。(2)切换到本机的/var/www/html目录,执行增加、删除、修改文件等操作。(3)查看远端服务器中的wwwroot目录下的变化情况。
4.6.5验证实验,客户端开启监控
cd /opt/./inotify.sh &
在客户端(192.168.10.101)/var/www/html/ 目录下创建文件test1和test2
cd /var/www/html/mkdir test1 test2
在源服务器进程查看是否完成实时同步
ls /opt
4.7实例操作:配置inotify+rsync 实时同步
4.7.1修改rsync源服务器(192.168.10.100)配置文件
4.7.2调整 inotify 内核参数(在客户端配置:192.168.10.101)
4.7.3安装 inotify-tools(在客户端配置:192.168.10.101)
执行“inotifywait”命令:
4.7.4在客户端(192.168.10.101)编写触发式同步脚本
4.7.5验证实验,客户端开启监控
五、使用rsync来实现快速删除大量文件
假如要在Linux下删除大量文件,比如100万、1000万,像/usr/local/nginx/proxy_ temp的nginx缓存等,那么rm -rf *可能就不好使了,因为要等待很长一段时间。在这种情况下我们可以使用rsync来巧妙处理。rsync实际用 的是替换原理。
先建立一个空的文件夹:mkdir /home/blank
用rsync删除目标目录:
rsync --delete-before -a -H -v --progress --stats /home/blank /usr/local/nginx/proxy_temp
这样目标目录很快就被清空了
选项说明:–delete-before :接收者在传输进行删除操作-a :归档模式,表示以递归方式传输文件,并保持所有文件属性-H :保持硬连接的文件-v :详细输出模式–progress :在传输时显示传输过程–stats :给出某些文件的传输状态
rsync远程同步
世界观焦点:AMD RX 7900 XTX渲染跑分性能曝光:感觉和RTX 4080两个时代
【热闻】国内电影票房已达285亿 《阿凡达2》成救命稻草:高价被指吃相难看
世界热推荐:为什么日本人更健康长寿?这12个“秘诀”值得借鉴
小米13 Pro长焦表现一绝:10cm至无穷远均可合焦
【报资讯】网传辽宁一有轨电车碾压电动自行车 官方回应:系剐蹭、人无碍
netmiko+textfsm自动统计交换机端口模块型号数量与闲置模块
【全球独家】【网关开发】4.Openresty 使用events插件进行事件通知
世界新消息丨蒟蒻颤抖:AI打信奥赛,三分之二赛题一遍过
【求助帖】从技术转为项目经理后,如何快速进入角色?
angr_ctf——从0学习angr(四):库操作和溢出漏洞利用
【世界速看料】新一代广汽本田皓影官图发布:大嘴变方嘴、可选7座
《原神》获TGA“玩家之声”奖!官方发800原石:全体都有
世界新动态:一部车骑10年!绿源推出INNO9-lite电动自行车:新国标 80km续航
天天快消息!NVIDIA发布527.56显卡驱动程序:DLSS 3游戏性能更强了
天天最资讯丨站起来了!哈弗H6插电混动版11月销量首超4000:直逼问界M5
焦点速递!CSS绝对定位7大应用场景实战案例分享
教你用CSS实现表单部件
环球热议:物联网平台在AIoT领域8大场景应用
东航官宣全球第一架C919商业首飞时间!这7大城市有福了
打爆丰田、本田混动SUV 比亚迪护卫舰07上市:20.28万起
天天微资讯!换代!AMD锐龙9 7950X3D来了:游戏性能比酷睿i9-13900K高出33%
【速看料】全国5G网络接入速率出炉:北京、上海都没抢到第一 移动最快
【世界新要闻】上线7年无敌手!《王者荣耀》11月吸金超13亿元:蝉联销冠
观点:MYSQL 1 DAY
世界微速讯:智能PDU,网络远程管理电源能耗提升配电效率
当前滚动:“云办公”如何用任务协同工具搞定项目和团队管理?
今日聚焦!SSM整合(spring-springmvc-mybatis)之CRUD
焦点日报:又拓新业务 比亚迪全新皮卡谍照曝光:DM混动没跑了
热点!不掉绒、无静电!史努比牛奶绒床品四件套大促:券后99元
天天快讯:一箭十四星 捷龙三号运载火箭首飞发射成功:海陆两用
焦点快播:QQ等级全球第一咋做到的?本人回应让网友羡慕:小时候家里开网吧
官方“挖墙脚”?网易《逆水寒》宣布推出“网易魔兽老兵服”
资讯:vscode使用chatGPT
全球滚动:我与 ChatGPT 讨论了面向对象语言 中,关于动态调用的问题
快播:第三方登录组件-JustAuth
【环球报资讯】BI智慧仓储,带你体验数字化仓储物流管理
环球今亮点!把ipa文件上传到App Store教程步骤
每日热讯!易基因:简化甲基化测序(RRBS)在植物生态表观基因组学中的机遇和局限|深度综述
当前聚焦:记.net framework php接口 返回数据格式问题 请求接口远程服务器返回错误: (500) 内部服务器错误
ChatGPT 大白话 SmartIDE
Zabbix与乐维监控对比分析(三)——对象管理篇
全球报道:专访|开源之夏最佳质量奖 Apache RocketMQ Committer 黄章衡
世界热消息:.net6制作让同事不能上网的arp欺骗工具
每日热门:如何利用 A/B 实验提升产品用户留存? 看字节实战案例给你答案!
chatGPT辣么火,你却不会注册
每日速讯:2022最新上传ipa到appstore的步骤说明
怎么在电脑上查看iPhone定位?iphone定位不准怎么校正?
怎么验证windows是不是正版?验证windows正版的方法有哪些?
光大银行信用卡额度一般是多少?光大银行信用卡怎么查询进度?
银行卡号泄露有危险吗?银行卡号泄露挂失有用吗?
空调怎么省电?空调省电的正确用法有哪些?
word文档怎么做思维导图?word文档怎么做小抄?
宏碁4750g怎么进入bios?宏碁4750G需要哪些驱动?
电视机顶盒怎么破解?电视机顶盒哪个牌子好用?
诺基亚710上市价格是多少?诺基亚710手机现在能用吗?
天然气热值是多少大卡?天然气热值换算表
环球热议:行为管理(锐捷业务软件篇)
焦点报道:直播间疯狂刷礼物可能是在洗钱:网络水军用千部手机给主播打赏 最多刷10亿元
国产操作系统deepin推送20.8版本:wine应用开启速度获得提升
联想PC小新桌面助手上线:实用性堪比手机控制中心
无叶无根无枝条的花你见过没?曾消失30年:开败后就变黑
世界今亮点!《原神》《幻塔》都败了!《MARVEL SNAP》摘得TGA 2022年度最佳手游
【全球速看料】BI智慧仓储行业应用方案,让你的仓储物流不再复杂
【全球播资讯】RTX 3050加持 联想轻薄旗舰本小新Pro 16史低价:5799元
【聚看点】特斯拉左转失控 车主称刹车和方向盘突然变硬:官方售后回应尴尬
观热点:海外经销商顶不住:RTX 4080英国又降价 轻松降近900元还会继续
焦点播报:首批车主反馈良好!恒驰汽车回应停工停产传闻:恒驰5按计划交付
即时焦点:谷歌Chrome浏览器新模式上线:最多可减少30%内存占用
每日消息!2岁就给爹打工 马斯克给儿子发了一张工牌
世界球精选!《仙剑奇侠传七》更新2.0版本:体积直接减半 内存、显存占用更低
振奋!全球首架C919今日交付中国东方航空:大家啥时候能坐上国产大飞机?
真实感渲染:变换(二维与三维)
老年人到底要不要打新冠疫苗?怎么打?一文说清
世界实时:对称加密
信息:CSS相对定位3大应用场景5个实战应用案例详解
今日最新!FreeSWITCH学习笔记:系统架构
Redis主从复制,哨兵模式和集群模式
漏洞预警:宝塔面板疑似出现高危漏洞
看不上油改电 要不来看看电改油?3000公里不用充电
友商旗舰陆续发布 产品经理:小米13毫无压力
焦点热文:支付宝可以绑境外银行卡了:4步搞定 直接扫码
世界快消息!SpringBoot中统一日志管理
MAUI新生3.5-深入理解XAML:行为Behavior
动态焦点:人工智能ChatGPT被玩坏了
世界百事通!卖不动车后 特斯拉上海工厂最新现状:闲下来了
天天速看:激光投影成了香饽饽!第三季度市场出货量17.5万台
苹果感受下!宋紫薇道出环保真谛:都用一套充电器才是真环保
直播两大奇观上演:火星冲日巧遇火星伴月 下次这么亮得等2033年
年薪90万 却起诉公司太无聊:每天上班只能摸鱼
全球今热点:JIT 即时编译 (史上最全)
喜大普奔!欧盟要求统一使用Type-C时间确定:苹果iPhone必须要换USB-C
被批沉闷 影迷吐槽矫情!《阿凡达2》首映后好评率超95% 首选必看IMAX 3D版
热点!卢伟冰:电竞手机注定要消亡
既是口罩又能降噪听歌!戴森发布空气净化耳机Dyson Zone:中国网友狂吐槽
天天快报!镜头可伸缩!传音发布Tecno Phantom X2系列新机
SK海力士研发全球最快内存:超越DDR5-4800 80%!
环球短讯!小米13多次被偷跑 法务“好心”提醒:可判3-10年
12代i7售价过万!传音推出Tecno MegaBook S1笔记本
看点:印度推首款黄金ATM机 插卡取金币的机子你用过吗?