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

Linux rsync同步操作和inotify实时同步 、 Cobbler装机平台 (SERVICE06—-DAY21)[通俗易懂]rsync同步操作•命令用法–rsync[选项…]源目录目标目录•同步与复制的差异–复制:完全拷贝源到目标–同步:增量拷贝,只传输变化过的数据同步控制•rsync操作选项–-n:测试同步过程,不做实际修改––delete:删除目标文件夹内多余的文档–-a:归档模式,相当于-rlptgoD–-v:显示详细操作信息–-z:传输过程中启用压缩/解…

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

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
]$ scp /linux-soft/01/tools.tar.gz root@192.168.4.7:/tmp/

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

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.net/161300.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库函数的用法「建议收藏」

    数据库函数的用法「建议收藏」dgkhjbxx–客户表   列(khmc)客户名称     列(khbh)客户编号apply_main_crdt–申请表  列(cust_no)客户编号 createorreplacefunctioncmis_getkhmc(idvarchar2)returnvarchar2iskhmc_mingchengdgkhjbxx.khmc%type;be…

    2022年6月16日
    29
  • Windows安装gitlab_Windows7

    Windows安装gitlab_Windows7文章目录一、下载指引二、安装说明三、配置信息一、下载指引在Windows上使用Git,可以从Git官网https://git-scm.com/直接下载安装程序,然后按默认选项安装即可。StandaloneInstaller:安装版,安装完之后会自动在鼠标右键时显示GitGUIHere和GitBashHere(推荐)Portable(“thumbdriveedition”):绿色版,解压就能运行,免安装,不过绿色版不会在鼠标右键时显示GitGUIHere和Gi

    2025年10月7日
    2
  • 【Android】实现登录、注册、数据库操作(极简洁)[通俗易懂]

    我最近又写了一篇文,是这篇文章的升级版,借此文引流一下:《【Android】实现登录、注册、数据库操作(极复杂)》本篇源码地址(进去找JustLoginRegister):(2019-12-05更新:我已经把Gradle更新到3.5最新版了,dependencies也已经都迁移到androidx了,特此说明)https://github.com/littlecurl/AppProj…

    2022年4月17日
    227
  • Redis集群搭建

    Redis集群搭建

    2021年6月15日
    112
  • 关于tof相机很好的总结~

    关于tof相机很好的总结~1.1TOF初探   TOF是Timeofflight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。TOF相机与普通机器视觉成像过程也有类似之处,都是由

    2022年5月26日
    33
  • 谈谈我对服务熔断、服务降级的理解

    谈谈我对服务熔断、服务降级的理解伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。其实对老外的总结能力一直特别崇拜,KevinKelly、MartinFowler、WernerVogels……,都是著名的“

    2022年5月2日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号