目錄
?
rsync同步操作
rsync基本使用
rsync+ssh同步:遠(yuǎn)程同步
實(shí)時(shí)同步
inotify實(shí)時(shí)同步
inotifywait監(jiān)控
cobbler裝機(jī)平臺(tái)
cobbler簡(jiǎn)介
基本概念:
裝機(jī)步驟
cobbler裝機(jī)部署
cobbler應(yīng)用
自定義應(yīng)答文件:開頭注釋行刪除
DNS服務(wù)器的主從結(jié)構(gòu)
備份主服務(wù)器的數(shù)據(jù),解決單點(diǎn)故障
rsync同步操作
rsync基本使用
命令用法:rsync ?[選項(xiàng)] ? ?源目錄 ? ?目標(biāo)目錄 同步與復(fù)制的差異:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?復(fù)制:完全拷貝源到目標(biāo)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?同步:增量拷貝,只傳輸變化過程(第一次傳輸?shù)臅r(shí)候會(huì)自動(dòng)記住源目錄和目標(biāo)目錄的校驗(yàn)值,以后每次只傳輸變化的值)
? ? ? ? ? ? ? -a:歸檔模式,相當(dāng)于-rlptgoD
? ? ? ? ? ? ? -n:測(cè)試同步過程,不做實(shí)際修改
? ? ? ? ? ? ? -v:顯示詳細(xì)操作信息
? ? ? ? ? ? ? -z:傳輸過程中啟用壓縮/解壓縮
? ? ? ? ? ? --delete:刪除目標(biāo)文件夾內(nèi)多余的文檔
? ? ? ? ? ? ??
執(zhí)行rsync命令時(shí),源目錄后面如果不加/,則默認(rèn)把目錄本身以及目錄下面的內(nèi)容一同傳輸?shù)侥繕?biāo)目錄
rsync命令只是單方向,目標(biāo)數(shù)據(jù)自己多出來的數(shù)據(jù)
[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同步:遠(yuǎn)程同步
rsync ? user@host ? ?:遠(yuǎn)程 ? 目錄/
下行(下載):rsync ? [....] ? ?user@host:遠(yuǎn)程目錄 ? 本地目錄
上行(上傳):rsync ?[....] ? ?本地目錄 ? ?user@host:遠(yuǎn)程目錄
[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
實(shí)時(shí)同步
虛擬機(jī)A:生成公鑰與私鑰,取消密碼驗(yàn)證 [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(記錄曾經(jīng)遠(yuǎn)程管理過的機(jī)器)
?
將公鑰傳遞給對(duì)方 [root@svr7 ~]# ssh-copy-id root@192.168.4.207[root@pc207 ~]# ls /root/.ssh
authorized_keys (別的機(jī)器傳遞過來的公鑰)[root@svr7 ~]# rsync -av --delete /todir/ root@192.168.4.207:/opt
?
inotify實(shí)時(shí)同步
安裝inotity-tools工具軟件,監(jiān)控目錄內(nèi)容
1.真機(jī)上傳數(shù)據(jù)到虛擬機(jī)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
[root@svr7 ~]# ls /tmp #查看tmp目錄下是否有該壓縮包(虛擬機(jī))
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
[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
1)下載gcc和make軟件
[root@svr7 ~]# yum ?-y ?install gcc make
2)./configure配置,指定安裝目錄/功能模塊等選項(xiàng)
[root@svr7 ~]# cd /usr/local/inotify-tools-3.13/[root@svr7 inotify-tools-3.13]# ./configure
3)make編譯,生成可執(zhí)行的二進(jìn)制文件
[root@svr7 inotify-tools-3.13]# make
4)make install 安裝,將編譯好的文件復(fù)制到安裝目錄
[root@svr7 inotify-tools-3.13]# make install[root@svr7 inotify-tools-3.13]# ls /usr/local/bin/inotifywait
/usr/local/bin/inotifywait #查看是否有該程序
inotifywait監(jiān)控
inotifywait ?[選項(xiàng)] ? ? ?目標(biāo)文件夾
-m:持續(xù)監(jiān)控(捕獲一個(gè)事件后不退出)
-r:遞歸監(jiān)控,包括子目錄及文件
-q:減少屏幕輸出的信息
-e:指定監(jiān)視的modify.move.create.delete.attrib等事件類別
三.書寫一個(gè)shell腳本
循環(huán)解決重復(fù)性的操作
for ? 循環(huán):適合書寫有次數(shù)的循環(huán)
while 循環(huán):適合書寫不限次數(shù)的循環(huán)
[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 運(yùn)行中 /root/rsync.sh &
cobbler裝機(jī)平臺(tái)
前提:建立一個(gè)支持圖形化的虛擬機(jī)
1.操作系統(tǒng)為:CentOs7.5
2.內(nèi)存大小為:2G
3.磁盤空間為:50G
4.虛擬網(wǎng)絡(luò)類型為:private1
5.軟件包選擇"帶GUI的服務(wù)器"
6.分區(qū)選擇"自動(dòng)分區(qū)"
7.管理員root密碼為1
8.創(chuàng)建普通用戶lisi,密碼為1
cobbler簡(jiǎn)介
基本概念:
cobbler是一款快速的網(wǎng)絡(luò)系統(tǒng)部署工具 集中管理所需服務(wù),如DHCP.DNS.TFTP.WEB cobbler內(nèi)部集成了一個(gè)鏡像版文件倉庫 cobbler內(nèi)部集成了一個(gè)ks應(yīng)答文件倉庫 cobbler還提供了包括yum源管理,web界面管理,API接口,電源管理等功能
裝機(jī)步驟
一.具備一個(gè)CentOs虛擬機(jī) 二.虛擬機(jī)設(shè)置防火墻為trusted,selinux設(shè)置為寬松模式,IP地址為192.168.4.123/24,主機(jī)名為cobbler.tedu.cn,構(gòu)建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真機(jī)傳遞cobbler.zip包到虛擬機(jī)192.168.4.123中
[student@room9pc01 ~]$ scp /home/student/桌面/cobbler.zip root@192.168.4.123:/root
cobbler概述軟件,管理dhcp.TFTP.web服務(wù)
自由的導(dǎo)入鏡像與ks應(yīng)答文件
解壓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
?
[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裝機(jī)部署
1.安裝軟件cobbler ? cobbler-web ?dhcp ?tftp-server ? pykickstart ?httpd
cobbler ? ? ? ? ? ? ? ? ? ? ? ? ? #cobbler程序包
cobbler-web ? ? ? ? ? ? ? ? ? ?#cobbler的web程序包
pykickstart ? ? ? ? ? ? ? ? ? ? ?#cobbler檢查kickstart應(yīng)答文件語法錯(cuò)誤
httpd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#dhcp服務(wù)
tftp-server ? ? ? ? ? ? ? ? ? ? ? #tftp服務(wù)
[root@cobbler ~]# vim /etc/cobbler/settings
272 next_server: 192.168.4.123 #設(shè)置下一個(gè)服務(wù)器還為本機(jī)
384 server: 192.168.4.123 #設(shè)置本機(jī)為cobbler服務(wù)器
242 manage_dhcp: 1 #設(shè)置cobbler管理dhcp服務(wù)
292 pxe_just_once: 1 #防止客戶端重復(fù)安裝操作系統(tǒng)#冒號(hào)后面要有空格!!!!!!!!
開機(jī)啟動(dòng)選項(xiàng):匹配即停止
硬盤啟動(dòng) 光驅(qū)設(shè)備 U盤 網(wǎng)絡(luò)引導(dǎo)
[root@cobbler ~]# vim /etc/cobbler/dhcp.template :%s /舊/新/g #全文替換:%s /192.168.1/192.168.4/g
4.絕對(duì)路徑解壓cobbler_boot.tar.gz ? ?#眾多的引導(dǎo)文件
[root@cobbler ~]# tar -tf /cobbler/cobbler_boot.tar.gz #查看包里面的內(nèi)容[root@cobbler ~]# tar -xPf /cobbler/cobbler_boot.tar.gz #絕對(duì)路徑釋放(選項(xiàng)+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
[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
[root@cobbler ~]# cobbler sync #檢查所有配置是否正確*** TASK COMPLETE *** #出現(xiàn)此行則證明正確
[root@cobbler ~]# firefox https://192.168.4.123/cobbler_web用戶名:cobbler密碼:cobbler
cobbler應(yīng)用
cobbler import ?--path=掛載點(diǎn) ? --name=導(dǎo)入系統(tǒng)命名(隨意起)
[root@cobbler ~]# mkdir /dvd[root@cobbler ~]# mount /dev/cdrom /dvd #一定要提前加光驅(qū)設(shè)備[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導(dǎo)入的鏡像在/var/www/cobbler/ks_mirror[root@cobbler ~]# cobbler list #查看有哪些系統(tǒng)
distros:Centos7-x86_64 #安裝客戶端至少要2G內(nèi)存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 寫保護(hù),將以只讀方式掛載
[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
自定義應(yīng)答文件:開頭注釋行刪除
[root@cobbler ~]# yum -y install system-config-kickstart[root@cobbler ~]# system-config-kickstart #進(jìn)入圖形化界面,生成ks文件
必須默認(rèn)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 #同步設(shè)置
?
DNS服務(wù)器的主從結(jié)構(gòu)
備份主服務(wù)器的數(shù)據(jù),解決單點(diǎn)故障
準(zhǔn)備三臺(tái)虛擬機(jī):1.虛擬機(jī)A:主DNS服務(wù)器 ? ?192.168.4.7
? ? ? ? ? ? ? ? ? ? ? ? ? ?2.虛擬機(jī)B:從DNS服務(wù)器 ? 192.168.4.207
? ? ? ? ? ? ? ? ? ? ? ? ? ?3.虛擬機(jī)C:客戶端測(cè)試 ? ? ? 192.168.4.10
主DNS服務(wù)器
[root@svr7 ~]# yum -y install bind bind-chroot
[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";
};
[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
[root@svr7 named]# systemctl restart named
options {directory "/var/named";allow-transfer { 192.168.4.207; }; #指定從服務(wù)器IP地址
};
zone "tedu.cn" IN {type master;file "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
tedu.cn. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 1.2.3.4
[root@svr7 named]# systemctl restart named
從DNS服務(wù)器
[root@pc207 ~]# yum -y install bind bind-chroot
[root@pc207 ~]# vim /etc/named.conf options {directory "/var/named";
};zone "tedu.cn" IN {type slave;file "/var/named/slaves/tedu.cn.slave"; #原則named用戶對(duì)該目錄具備寫入權(quán)限masters { 192.168.4.7; }; #指定主DNS服務(wù)器名字
};
[root@pc207 ~]# systemctl restart named[root@pc207 ~]# ls /var/named/slaves
tedu.cn.slave
客戶端測(cè)試
[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.解析,當(dāng)主DNS服務(wù)器停止時(shí),會(huì)自動(dòng)找到從DNS服務(wù)器解析
[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服務(wù)器同步數(shù)據(jù)
1.修改數(shù)據(jù)必須是在主DNS服務(wù)器上完成
地址庫文件內(nèi)容:
?( ? ? ? ?? ? ? ?0 ? ? ? ?; serial ? ? ? ? ? ?#數(shù)據(jù)版本號(hào)由10個(gè)數(shù)字組成 ? ? ? ? ? ?? ?1D ? ? ?; refresh ? ? ? ? #代表每隔一天,主從會(huì)進(jìn)行數(shù)據(jù)同步 ? ? ? ? ? ?? ?1H ? ? ?; retry ? ? ? ? ? ? #每隔一個(gè)小時(shí),重試時(shí)間間隔 ? ? ? ? ? ?? ?1W ? ? ;?expire ? ? ? ? ?#失效時(shí)間,一個(gè)星期 ? ? ? ? ? ??? 3H ) ? ?; minimum ? ? ?#無效記錄的緩存時(shí)間,3個(gè)小時(shí)
2.必須手動(dòng)修改數(shù)據(jù)的版本號(hào),往大的方向修改
[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
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔 為你收集整理的rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。