rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构
目录
rsync同步操作
rsync基本使用
rsync+ssh同步:远程同步
实时同步
inotify实时同步
inotifywait监控
cobbler装机平台
cobbler简介
基本概念:
装机步骤
cobbler装机部署
cobbler应用
自定义应答文件:开头注释行删除
DNS服务器的主从结构
备份主服务器的数据,解决单点故障
rsync同步操作
rsync基本使用
- 命令用法:rsync [选项] 源目录 目标目录
- 同步与复制的差异:
复制:完全拷贝源到目标
同步:增量拷贝,只传输变化过程(第一次传输的时候会自动记住源目录和目标目录的校验值,以后每次只传输变化的值)
- rsync选项:
-a:归档模式,相当于-rlptgoD
-n:测试同步过程,不做实际修改
-v:显示详细操作信息
-z:传输过程中启用压缩/解压缩
--delete:删除目标文件夹内多余的文档
执行rsync命令时,源目录后面如果不加/,则默认把目录本身以及目录下面的内容一同传输到目标目录
rsync命令只是单方向,目标数据自己多出来的数据
[root@svr7 ~]# mkdir /nsd01 /todir[root@svr7 ~]# cp /etc/passwd /etc/shadow /nsd01[root@svr7 ~]# ls /nsd01
passwd shadow[root@svr7 ~]# rsync -av /nsd01 /todir
sending incremental file list
nsd01/
nsd01/passwd
nsd01/shadow[root@svr7 ~]# rsync -av /nsd01/ /todir
sending incremental file list
./
passwd
shadow[root@svr7 ~]# rsync --delete -av --delete /nsd01/ /todir
sending incremental file list
deleting nsd01/shadow
deleting nsd01/passwd
deleting nsd01/
./[root@svr7 ~]# ls /todir
passwd shadow[root@svr7 ~]# touch /nsd01/1.txt[root@svr7 ~]# rsync --delete -av --delete /nsd01/ /todir
sending incremental file list
deleting nsd01/shadow
deleting nsd01/passwd
deleting nsd01/
./
1.txt[root@svr7 ~]# ls /todir
1.txt passwd shadow
rsync+ssh同步:远程同步
- 列出ssh服务端资源
rsync user@host :远程 目录/
- 与远程的ssh目录保持同步
下行(下载):rsync [....] user@host:远程目录 本地目录
上行(上传):rsync [....] 本地目录 user@host:远程目录
[root@svr7 ~]# rsync -av --delete /todir/ root@192.168.4.207:/opt[root@pc207 ~]# ls /opt
1.txt passwd shadow[root@svr7 ~]# touch /todir/3.txt[root@svr7 ~]# rsync -av --delete /todir/ root@192.168.4.207:/opt[root@pc207 ~]# ls /opt
1.txt 3.txt passwd shadow[root@svr7 ~]# touch /todir/4.txt[root@svr7 ~]# rsync -av --delete /todir/ root@192.168.4.207:/opt[root@pc207 ~]# ls /opt
1.txt 3.txt 4.txt passwd shadow
实时同步
- 虚拟机A:生成公钥与私钥,取消密码验证
[root@svr7 ~]# ssh-keygen #一路回车 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:w7qmLC4X9KOR0jsTYe9bmNfHey23UPOPdJ2OnlTZxKw root@svr7.tedu.cn The key's randomart image is: +---[RSA 2048]----+ | | | o | | +| | + . oo| | + = S Eo.| |. * +o o o ..oo| | . Bo.+ . o .o..+| |. B..o.. . .+o*o.| | +.+++. ...*oo.| +----[SHA256]-----+[root@svr7 ~]# ls /root/.ssh authorized_keys id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
- 将公钥传递给对方
[root@svr7 ~]# ssh-copy-id root@192.168.4.207[root@pc207 ~]# ls /root/.ssh authorized_keys (别的机器传递过来的公钥)[root@svr7 ~]# rsync -av --delete /todir/ root@192.168.4.207:/opt
inotify实时同步
安装inotity-tools工具软件,监控目录内容
- 1.真机上传数据到虚拟机A
[student@room9pc01 ~]$ ls /linux-soft/
01 02 03 04 05
[student@room9pc01 ~]$ ls /linux-soft/01
Cobbler.zip tools.tar.gz
[student@room9pc01 ~]$ scp /linux-soft/01/tools.tar.gz root@192.168.4.7:/tmp
tools.tar.gz 100% 766KB 2.3MB/s 00:00
- 2.用虚拟机A查看是否上传成功
[root@svr7 ~]# ls /tmp #查看tmp目录下是否有该压缩包(虚拟机)
systemd-private-8baf54c5b1c04ba3a5f3525818b9c081-chronyd.service-Jon8iZ tools.tar.gz
systemd-private-b4e3a5aa0fe14eb493d2b5bed82bbce7-chronyd.service-1X4Kli
[root@svr7 ~]# tar -xf /tmp/tools.tar.gz -C / #将源码包释放到根[root@svr7 ~]# ls /
bin dev home lib64 mnt opt root sbin sys todir tpdir var
boot etc lib media nsd01 proc run srv tmp tools usr[root@svr7 ~]# ls /tools
inotify-tools-3.13.tar.gz other
- 3.tar解包
[root@svr7 ~]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /usr/local/[root@svr7 ~]# ls /usr/local/
bin etc games include inotify-tools-3.13 lib lib64 libexec sbin share src
- 4.进行源码包编译安装
1)下载gcc和make软件
[root@svr7 ~]# yum -y install gcc make
2)./configure配置,指定安装目录/功能模块等选项
[root@svr7 ~]# cd /usr/local/inotify-tools-3.13/[root@svr7 inotify-tools-3.13]# ./configure
3)make编译,生成可执行的二进制文件
[root@svr7 inotify-tools-3.13]# make
4)make install 安装,将编译好的文件复制到安装目录
[root@svr7 inotify-tools-3.13]# make install[root@svr7 inotify-tools-3.13]# ls /usr/local/bin/inotifywait
/usr/local/bin/inotifywait #查看是否有该程序
inotifywait监控
- 基本用法
inotifywait [选项] 目标文件夹
- 常用命令选项
-m:持续监控(捕获一个事件后不退出)
-r:递归监控,包括子目录及文件
-q:减少屏幕输出的信息
-e:指定监视的modify.move.create.delete.attrib等事件类别
三.书写一个shell脚本
循环解决重复性的操作
for 循环:适合书写有次数的循环
while 循环:适合书写不限次数的循环
[root@svr7 ~]# vim /root/rsync.sh
#!/bin/bash
while inotifywait -rqq /todir/
do
rsync -a --delete /todir/ root@192.168.4.207:/opt
done
[root@svr7 ~]# chmod +x /root/rsync.sh[root@svr7 ~]# /root/rsync.sh &
[1] 6113[root@svr7 ~]# jobs -l
[1]+ 6113 运行中 /root/rsync.sh &
cobbler装机平台
前提:建立一个支持图形化的虚拟机
1.操作系统为:CentOs7.5
2.内存大小为:2G
3.磁盘空间为:50G
4.虚拟网络类型为:private1
5.软件包选择"带GUI的服务器"
6.分区选择"自动分区"
7.管理员root密码为1
8.创建普通用户lisi,密码为1
cobbler简介
基本概念:
- cobbler是一款快速的网络系统部署工具
- 集中管理所需服务,如DHCP.DNS.TFTP.WEB
- cobbler内部集成了一个镜像版文件仓库
- cobbler内部集成了一个ks应答文件仓库
- cobbler还提供了包括yum源管理,web界面管理,API接口,电源管理等功能
装机步骤
- 一.具备一个CentOs虚拟机
- 二.虚拟机设置防火墙为trusted,selinux设置为宽松模式,IP地址为192.168.4.123/24,主机名为cobbler.tedu.cn,构建yum源:
[root@cobbler ~]# cd /etc/yum.repos.d/[root@cobbler yum.repos.d]# mkdir repo[root@cobbler yum.repos.d]# mv *.repo repo[root@cobbler yum.repos.d]# ls
repo[root@cobbler yum.repos.d]# vim zz.repo
[aaa]
name=sss
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0[root@cobbler yum.repos.d]# yum repolist
- 三.利用scp真机传递cobbler.zip包到虚拟机192.168.4.123中
[student@room9pc01 ~]$ scp /home/student/桌面/cobbler.zip root@192.168.4.123:/root
- 四.搭建cobbler装机平台
cobbler概述软件,管理dhcp.TFTP.web服务
自由的导入镜像与ks应答文件
- 解压cobbler.zip软件包
[root@cobbler ~]# yum -y install unzip [root@cobbler ~]# unzip /root/cobbler.zip -d /[root@cobbler ~]# ls /cobbler cobbler_boot.tar.gz cobbler_rpm.zip cobbler_web.png[root@cobbler ~]# unzip /cobbler/cobbler_rpm.zip -d /opt[root@cobbler ~]# ls /opt/cobbler/ cobbler-2.8.2-1.el7.x86_64.rpm python-cheetah-2.4.4-5.el7.centos.x86_64.rpm cobbler-web-2.8.2-1.el7.noarch.rpm python-django-bash-completion-1.6.11.6-16.el7.noarch.rpm dhclient-4.2.5-58.el7.centos.1.x86_64.rpm python-markdown-2.4.1-2.el7.noarch.rpm libyaml-0.1.4-11.el7_0.x86_64.rpm python-pillow-2.0.0-19.gitd1c6db8.el7.x86_64.rpm mod_wsgi-3.4-12.el7_0.x86_64.rpm python-pygments-1.4-10.el7.noarch.rpm python2-django-1.6.11.6-16.el7.noarch.rpm PyYAML-3.10-11.el7.x86_64.rpm python2-simplejson-3.10.0-1.el7.x86_64.rpm tftp-server-5.2-13.el7.x86_64.rpm
- 五.安装cobbler主程序.工具包等
[root@cobbler ~]# yum -y install dhcp httpd mod_ssl[root@cobbler ~]# yum -y install /opt/cobbler/*.rpm[root@cobbler ~]# rpm -q cobbler
cobbler-2.8.2-1.el7.x86_64
cobbler装机部署
- 1.安装软件cobbler cobbler-web dhcp tftp-server pykickstart httpd
cobbler #cobbler程序包
cobbler-web #cobbler的web程序包
pykickstart #cobbler检查kickstart应答文件语法错误
httpd #dhcp服务
tftp-server #tftp服务
- 2.配置cobbler的dhcp
[root@cobbler ~]# vim /etc/cobbler/settings
272 next_server: 192.168.4.123 #设置下一个服务器还为本机
384 server: 192.168.4.123 #设置本机为cobbler服务器
242 manage_dhcp: 1 #设置cobbler管理dhcp服务
292 pxe_just_once: 1 #防止客户端重复安装操作系统#冒号后面要有空格!!!!!!!!
开机启动选项:匹配即停止
- 硬盘启动
- 光驱设备
- U盘
- 网络引导
- 3.配置cobbler的dhcp
[root@cobbler ~]# vim /etc/cobbler/dhcp.template :%s /旧/新/g #全文替换:%s /192.168.1/192.168.4/g
- 4.绝对路径解压cobbler_boot.tar.gz #众多的引导文件
[root@cobbler ~]# tar -tf /cobbler/cobbler_boot.tar.gz #查看包里面的内容[root@cobbler ~]# tar -xPf /cobbler/cobbler_boot.tar.gz #绝对路径释放(选项+P,无需指定释放路径)[root@cobbler ~]# ls /var/lib/cobbler/loaders/
COPYING.elilo COPYING.yaboot grub-x86_64.efi menu.c32 README
COPYING.syslinux elilo-ia64.efi grub-x86.efi pxelinux.0 yaboot
- 5.启动相关服务
[root@cobbler ~]# systemctl restart cobblerd
[root@cobbler ~]# systemctl enable cobblerd[root@cobbler ~]# systemctl restart httpd
[root@cobbler ~]# systemctl enable httpd[root@cobbler ~]# systemctl restart rsyncd
[root@cobbler ~]# systemctl enable rsyncd
- 6.同步刷新cobbler配置
[root@cobbler ~]# cobbler sync #检查所有配置是否正确*** TASK COMPLETE *** #出现此行则证明正确
[root@cobbler ~]# firefox https://192.168.4.123/cobbler_web用户名:cobbler密码:cobbler
cobbler应用
cobbler import --path=挂载点 --name=导入系统命名(随意起)
- 导入安装镜像数据
[root@cobbler ~]# mkdir /dvd[root@cobbler ~]# mount /dev/cdrom /dvd #一定要提前加光驱设备[root@cobbler ~]# ls /dvd
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL[root@cobbler ~]# cobbler import --path=/dvd --name=Centos7#cobbler导入的镜像在/var/www/cobbler/ks_mirror[root@cobbler ~]# cobbler list #查看有哪些系统
distros:Centos7-x86_64 #安装客户端至少要2G内存profiles:Centos7-x86_64
- 删除
[root@cobbler ~]# cobbler profile remove --name=centos7-x86_64 #删除菜单信息
[root@cobbler ~]# cobbler distro remove --name=centos7-x86_64 #删除镜像信息
[root@cobbler ~]# umount /dvd
[root@cobbler ~]# mount /dev/cdrom /dvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@cobbler ~]# ls /dvd
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
自定义应答文件:开头注释行删除
[root@cobbler ~]# yum -y install system-config-kickstart[root@cobbler ~]# system-config-kickstart #进入图形化界面,生成ks文件
必须默认kickstart文件存放的位置:/var/lib/cobbler/kickstarts
[root@cobbler ~]# cobbler list
修改kickstart文件:
[root@cobbler ~]# cobbler profile edit --name=Centos7 --kickstart=/var/lib/cobbler/kickstarts/自定义.cfg[root@cobbler ~]# cobbler profile report[root@cobbler ~]# cobbler sync #同步设置
DNS服务器的主从结构
备份主服务器的数据,解决单点故障
准备三台虚拟机:1.虚拟机A:主DNS服务器 192.168.4.7
2.虚拟机B:从DNS服务器 192.168.4.207
3.虚拟机C:客户端测试 192.168.4.10
主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$TTL 1D
@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 1.2.3.4
- 4.重起服务:
[root@svr7 named]# systemctl restart named
- 5.修改主配置文件,指定从服务器IP地址
options {directory "/var/named";allow-transfer { 192.168.4.207; }; #指定从服务器IP地址
};
zone "tedu.cn" IN {type master;file "tedu.cn.zone";
};
- 6.修改地址库文件进行声明
[root@svr7 named]# vim tedu.cn.zone$TTL 1D
@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
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
- 7.再次重启服务
[root@svr7 named]# systemctl restart named
从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服务器名字
};
- 3.重起服务:
[root@pc207 ~]# systemctl restart named[root@pc207 ~]# ls /var/named/slaves
tedu.cn.slave
客户端测试
- 1.指定DNS服务器
[root@C ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf [root@C ~]# echo nameserver 192.168.4.207 >> /etc/resolv.conf #先写主DNS再写从DNS
- 2.解析,当主DNS服务器停止时,会自动找到从DNS服务器解析
[root@C ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53Name: www.tedu.cn
Address: 1.2.3.4[root@svr7 named]# systemctl stop named[root@C ~]# nslookup www.tedu.cn
Server: 192.168.4.207
Address: 192.168.4.207#53Name: www.tedu.cn
Address: 1.2.3.4
主从DNS服务器同步数据
- 1.修改数据必须是在主DNS服务器上完成
地址库文件内容:
(
0 ; serial #数据版本号由10个数字组成
1D ; refresh #代表每隔一天,主从会进行数据同步
1H ; retry #每隔一个小时,重试时间间隔
1W ; expire #失效时间,一个星期
3H ) ; minimum #无效记录的缓存时间,3个小时
- 2.必须手动修改数据的版本号,往大的方向修改
[root@svr7 named]# vim tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (2019122301 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
tedu.cn. NS svr7
tedu.cn. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 15.20.25.26[root@C ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53Name: www.tedu.cn
Address: 15.20.25.26-------------------------------------------------------------------------------------------------------[root@svr7 named]# vim tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (2019122302 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
tedu.cn. NS svr7
tedu.cn. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 45.46.50.25[root@svr7 named]# systemctl restart named[root@C ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53Name: www.tedu.cn
Address: 45.46.50.25
rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构相关推荐
- rsync和inotify实时同步配置 exclude排除多个文件夹
同步的方向:同步的服务器(更新发送) →→→→→→被同步的服务器(接收) 或者说是 客户端 →→→ 服务端 (客户端内容向服务端同步) 同步的服务器配置 1,安装rsync和inotify wg ...
- rsync下行同步+inotify实时同步部署
目录 rsync简介 rsync同步方式 rsync特性 rsync与cp.scp对比 rsync同类服务 rsync源服务器的关系 配置rsync源 rsync命令 rsync本地复制实例 配置源的 ...
- Centos7 下 配置 rsync 以及 rsync+inotify 实时同步
Centos 7 下 配置 Rsync 以及 rsync+inotify 实时同步 rsync介绍 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支 持增量备份,保持链接和 ...
- inotify介绍及rsync + inotify 实时同步备份
1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计 ...
- Rsync下行同步+inotify实时同步介绍和部署
Rsync下行同步+inotify实时同步介绍和部署 一.Rsync 1.Rsync同步源 2.Rsync服务器 3.同步方式 二.配置rsync源 三.rsync命令 四.配置源的两种表示方法 1. ...
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
1.什么是 Rsync? Rsync 是一个开源的快速备份工具,是Linux和UNIX操作系统默认安装的组件之一,可在不同主机间镜像同步整个目录,并支持增量备份文件传输,保持链接和权限,采用优化的同步 ...
- rsync同步+inotify实时同步
rsync下行同步+inotify实时同步部署 一.rsync简介 二.rsync同步源 三.配置rsync源 1.基本思路 2.配置文件rsyncd.conf 3.独立的账号文件 4.启用rsync ...
- rsync数据同步+inotify实时同步
rsync数据同步+inotify实时同步 一.rsync 1.rsync概述 2.rsync优缺点 3.rsync同步源 4.rsync命令 5.配置rsync 二,inotify实时同步 1.调整 ...
- rsync下行同步与inotify实时同步
rsync下行同步与inotify实时同步 一.rsync工具 二.定时同步与实时同步 三.配置rsync源 四.rsync命令 五.配置源的两种表示方法 六.inotify 七.配置rsync下行同 ...
最新文章
- 【NLP】用BERT进行机器阅读理解
- 堆排序(利用最大堆)
- Web控件文本框Reset的功能
- 基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (下篇)
- Mycat设置开机自启
- Differential Geometry之第九章常平均曲率曲面
- linux cpu mysql_Linux 指定MySQL服务运行的CPU核心(数)
- Redis设计与实现(导航)
- bp神经网络算法原理公式,bp神经网络算法推导
- 手持式频谱分析仪TFN RMT720A 频谱分析 基站分析 路测覆盖
- 体检导检系统服务器系统,全科智能导检系统
- 2023年全国管理类联考综合试卷真题及解析
- rtx3050参数 rtx3050相当于gtx什么显卡 rtx3050显卡什么水平
- 转:阿里智能音箱天猫精灵发布,联发科成了背后大赢家
- WordPress调用文章中第一张图片作为缩略图(特色图像)的方法
- steamship 使用gpt-4
- Cesium中自定义材质material
- 计算机关机速度,高手教你摆平Win7关机速度慢的技巧
- 20181108_Makefile知识点
- 详解支付流程时序图,再也不怕问题支付的问题了
热门文章
- Hadoop 数据类型与文件结构剖析 Sequence, Map, Set, Array, BloomMap Files
- Hadoop中shuffle阶段流程分析
- PHP实现飞信接口来通过网页免费发短信
- 编程之美-电梯调度算法方法整理
- 深入理解Webpack核心模块Tapable钩子[异步版]
- vmtouch--the Virtual Memory Toucher
- DNS入门介绍之三BIND安装配置全过程
- 在没有工具的情况下检查SSD 的TRIM功能有没有打开
- OpenCv实现两幅图像的拼接
- centos6 kvm网卡桥接