前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux rsync同步操作和inotify实时同步 、 Cobbler装机平台 (SERVICE06—-DAY21)[通俗易懂]

Linux rsync同步操作和inotify实时同步 、 Cobbler装机平台 (SERVICE06—-DAY21)[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-09 10:23:49
5500
发布2022-09-09 10:23:49
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

rsync同步操作

• 命令用法 – rsync [选项…] 源目录 目标目录

• 同步与复制的差异 – 复制:完全拷贝源到目标 – 同步:增量拷贝,只传输变化过的数据

同步控制 • rsync操作选项 – -n:测试同步过程,不做实际修改 – –delete:删除目标文件夹内多余的文档 – -a:归档模式,相当于-rlptgoD – -v:显示详细操作信息 – -z:传输过程中启用压缩/解压

本地同步: [root@svr7 ~]# mkdir /nsd01 /todir [root@svr7 ~]# cp /etc/passwd /etc/shadow /nsd01 [root@svr7 ~]# ls /nsd01

[root@svr7 ~]# rsync -av /nsd01 /todir/ #同步目录本身 [root@svr7 ~]# ls /todir

[root@svr7 ~]# rsync -av /nsd01/ /todir/ #同步目录内容 [root@svr7 ~]# ls /todir [root@svr7 ~]# rsync -av –delete /nsd01/ /todir/ [root@svr7 ~]# ls /todir [root@svr7 ~]# touch /nsd01/1.txt [root@svr7 ~]# rsync -av –delete /nsd01/ /todir/ [root@svr7 ~]# ls /todir

#################################################### rsync+SSH同步:远程同步

用法及服务端要求 • 列出 SSH 服务端资源 – rsync user@host :远程 目录/ • 与远程的 SSH目录保持同步 – 下行:rsync […] user@host:远程目录 本地目录 – 上行:rsync […] 本地目录 user@host:远程目录 虚拟机A: ]# rsync -av –delete /todir/ root@192.168.4.207:/opt/ 虚拟机B: ]# ls /opt

虚拟机A: ]# touch /todir/3.txt ]# rsync -av –delete /todir/ root@192.168.4.207:/opt/ 虚拟机B: ]# ls /opt

虚拟机A: ]# touch /todir/4.txt ]# rsync -av –delete /todir/ root@192.168.4.207:/opt/ 虚拟机B: ]# ls /opt ################################################### 实时同步 一 生成公钥与私钥,ssh取消密码验证 虚拟机A: 1.生成公钥与私钥 [root@svr7 ~]# ssh-keygen #一路回车 [root@svr7 ~]# ls /root/.ssh/ id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)

2.将公钥传递给对方 [root@svr7 ~]# ssh-copy-id root@192.168.4.207

虚拟机B: [root@pc207 ~]# ls /root/.ssh/ authorized_keys(别的机器传递过来的公钥)

虚拟机A:测试无密码验证 ]# rsync -av –delete /todir/ root@192.168.4.207:/opt/

#################################################### 二 安装inotify-tools工具软件,监控目录内容变化

1.具备inotify-tools工具软件 真机上传数据到虚拟机A ] ls /linux-soft/ ] ls /linux-soft/01 ]

2.虚拟机A查看是否上传成功 ]# ls /tmp ]# tar -xf /tmp/tools.tar.gz -C / ]# ls / ]# ls /tools/

3.tar解包 ]# ls /tools ]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /usr/local/

]# ls /usr/local/

步骤1:安装开发工具 [root@svr7 ~]# yum -y install make gcc

步骤2: ./configure 配置,指定安装目录/功能模块等选项 ]# cd /usr/local/inotify-tools-3.13/ ]# ./configure

步骤3: make 编译,生成可执行的二进制程序文件 ]# make

步骤4: make install 安装,将编译好的文件复制到安装目录 ]# make install ]# ls /usr/local/bin/inotifywait #验证是否有该程序

inotifywait监控 • 基本用法 – inotifywait [选项] 目标文件夹 • 常用命令选项 – -m,持续监控(捕获一个事件后不退出) – -r,递归监控、包括子目录及文件 – -q,减少屏幕输出信息 – -e,指定监视的 modify、move、create、delete、 attrib 等事件类别

三 书写一个shell脚本 循环解决重复性的操作 for 循环:适合书写有次数的循环 for i in 值列表 do 重复执行的代码 done

代码语言:javascript
复制
while 循环: 适合书写不限次数的循环
           while  [条件]
           do
                        重复执行的代码
           done

[root@svr7 /]# vim /root/rsync.sh #!/bin/bash while inotifywait -rq /todir/ do rsync -av –delete /todir/ root@192.168.4.207:/opt/ done

[root@svr7 /]# chmod +x /root/rsync.sh [root@svr7 /]# /root/rsync.sh & #放入后台运行

[root@svr7 /]# jobs -l #查看后台运行的进程 [root@svr7 /]# kill 7833 #杀死脚本程序 [1]+ 已终止 /root/rsync.sh [root@svr7 /]# jobs -l ################################################### DNS服务器的主从结构,备份主服务器的数据,解决单点故障

三台虚拟机 1.虚拟机A:主DNS服务器 192.168.4.7 2.虚拟机B:从DNS服务器 192.168.4.207 3.虚拟机C:客户端测试 192.168.4.10 ################################################### 虚拟机A:构建主DNS服务器 1.安装软件包 [root@svr7 ~]# yum -y install bind bind-chroot 2.修改配置文件 [root@svr7 ~]# cp /etc/named.conf /etc/named.bak [root@svr7 ~]# vim /etc/named.conf options { directory “/var/named”; }; zone “tedu.cn” IN { type master; file “tedu.cn.zone”; }; 3.建立地址库文件 [root@svr7 ~]# cd /var/named/ [root@svr7 named]# cp -p named.localhost tedu.cn.zone [root@svr7 named]# vim tedu.cn.zone tedu.cn. NS svr7 svr7 A 192.168.4.7 www A 1.2.3.4 [root@svr7 named]# systemctl restart named [root@svr7 ~]# nslookup www.tedu.cn 192.168.4.7

4.修改主配置文件,指定从服务器IP地址 [root@svr7 /]# vim /etc/named.conf options { directory “/var/named”; allow-transfer { 192.168.4.207; }; #指定从服务器 }; zone “tedu.cn” IN { type master; file “tedu.cn.zone”; };

5.修改地址库文件,进行声明从服务器 [root@svr7 /]# vim /var/named/tedu.cn.zone tedu.cn. NS svr7 tedu.cn. NS pc207 #声明从服务器 svr7 A 192.168.4.7 pc207 A 192.168.4.207 www A 1.2.3.4

[root@svr7 /]# systemctl restart named

################################################## 虚拟机B:从DNS服务器 1.安装软件包 [root@pc207 ~]# yum -y install bind bind-chroot 2.修改主配置文件 [root@pc207 ~]# vim /etc/named.conf options { directory “/var/named”; }; zone “tedu.cn” IN { type slave; file “/var/named/slaves/tedu.cn.slave”; #原则named用户,对该目录具备写入权限 masters { 192.168.4.7; }; #指定主DNS服务器位置 };

[root@pc207 ~]# systemctl restart named [root@pc207 ~]# ls /var/named/slaves/ tedu.cn.slave [root@pc207 ~]# nslookup www.tedu.cn 192.168.4.207

虚拟机C:测试 ]# echo nameserver 192.168.4.7 > /etc/resolv.conf ]# echo nameserver 192.168.4.207 >> /etc/resolv.conf

]# cat /etc/resolv.conf nameserver 192.168.4.7 nameserver 192.168.4.207

]# nslookup www.tedu.cn

################################################### 主从DNS服务器同步数据

1.修改数据必定是在主DNS服务器上完成 2.必须修改数据版本号,必须往大的方向修改

地址库文件内容: 2019122401 ; serial #数据版本号由10个数字组成 1D ; refresh #每隔1天,主从会进行同步数据 1H ; retry #重试时间间隔,每隔1个小时 1W ; expire #失效时间,1个星期 3H ) ; minimum #无效记录的缓存时间,3个小时

##################################################

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161300.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rsync同步操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档