初学Linux——Day20——rsync同步、cobbler

rsync同步操作

  命令用法
  rsync [选项...]   源目录    目标目录

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

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

一般用法为:  rsync -avz [源目录]  [同步到的目标目录]

注意 : 源目录后面有/ 代表将源目录下
        没有/ 的话就是把目录完全拷贝到目标目录

rsync+SSH同步(远程同步)

  与远程的 SSH目录保持同步
    下行:rsync [选项...]  user@host:远程目录      本地目录
    上行:rsync [选项...]  本地目录      user@host:远程目录


实时同步
一、采用公钥与私钥,实现ssh无密码验证

1.生成的公钥与私钥
  ssh-keygen        
   
2.查看生成的公钥与私钥
  ls /root/.ssh/
  id_rsa(私钥)  id_rsa.pub(公钥)   
  known_hosts(记录远程管理过的所有机器)

3.复制公钥到远程主机
  ssh-copy-id root@[IP]

二、监控目录内容的变化

   安装源码包inotify-tools工具

1.下载源码包
  inotify-tools-3.13.tar.gz 

2.安装gcc与make工具
  yum -y install gcc make

3.解包
  tar -xf /tools/inotify-tools-3.13.tar.gz  -C /

4.进行编译安装
    cd /inotify-tools-3.13/
    ./configure   #进行配置
    make          #编译
    make install  #编译安装

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

PS:如果编译安装出问题了,清空后重新安装
   清空编译重新安装
     cd /inotify-tools-3.13/
     make clean all    #清空编译
     make
     make install

三、书写同步的脚本

#!/bin/bash
while  inotifywait  -rqq /opt/ 
do
 rsync --delete -az /opt/  root@[IP]:/opt/ 
done &

  pgrep -l rsync.sh  #查询脚本进程信息
  killall rsync.sh   #杀死进程


重设root密码  

1. 重启系统,进入 recovery 恢复模式(修复模式) 
   按e键,找到 linux16 行,末尾添加 rd.break console=tty0
   按 ctrl + x 启动

2. 以可写方式重新挂载 /sysroot,并切换到此环境
   mount  -o  remount,rw  /sysroot
   chroot  /sysroot    

3. 将root用户的密码设置为 redhat
   echo  redhat  |  passwd  --stdin  root

4. 重设SELinux安全标签(安全增强版Linux)
   touch  /.autorelabel    #让 SElinux 失忆

5. 先后执行 exit、reboot 完成修复
     exit
     reboot


Cobbler装机平台,不同版本的多系统的安装

一、搭建服务器  

   1.配置IP

   2.设置防火墙为trusted
     firewall-cmd  --set-default-zone=trusted 

   3.当前及永久设置SELinux状态为permissive
     setenforce 0    #当前临时关闭
     vim /etc/selinux/config   #永久关闭

   4.搭建yum仓库


   5.下载Cobbler.zip包


二、搭建Cobbler装机平台

  Cobbler概述软件,管理dhcp、tftp、Web服务
  自由的导入镜像与ks应答文件

1.解压Cobbler.zip包
   unzip /root/Cobbler.zip -d /
   unzip /Cobbler/cobbler.zip  -d  /opt/ 

2、安装cobbler主程序、工具包等
   yum -y install /opt/cobbler/*.rpm


三、cobbler网络装机部署

1.检查需要的软件 cobbler cobbler-web dhcp tftp-server pykickstart httpd  tftp-server 

   cobbler         #cobbler程序包
   cobbler-web     #cobbler的web服务包
   pykickstart     #cobbler检查kickstart语法错误
   httpd           #Apache web服务
   dhcp            #dhcp服务
   tftp-server     #tftp服务

2.配置cobbler
   vim  /etc/cobbler/settings

   next_server:   [本机IP]         #设置下一个服务器还为本机
   server:   [本机IP]              #设置本机为cobbler服务器
   manage_dhcp:   1               #设置cobbler管理dhcp服务
   pxe_just_once:   1             #防止客户端重复安装操作系统 

3.配置cobbler的dhcp
   vim  /etc/cobbler/dhcp.template 

   :%s  /旧/新/g      #全文替换
   :%s  /192.168.1/[本机网段,即IP前三个]/g
 
4.绝对路径解压cobbler_boot.tar.gz    #众多的引导文件

   tar -xPf  /Cobbler/cobbler_boot.tar.gz  #绝对路径释放

5.启动相关服务
   systemctl restart cobblerd
   systemctl enable cobblerd

   systemctl restart httpd
   systemctl enable httpd

   systemctl restart tftp
   systemctl enable tftp

   systemctl restart rsyncd   #同步服务
   systemctl enable rsyncd

6.同步刷新cobbler配置
   cobbler sync   #检测配置是否正确
......
*** TASK COMPLETE ***      #代表正常

  firefox https://[IP]/cobbler_web    #二次检查
   用户名:cobbler
   密码:cobbler

四、cobbler应用

导入安装镜像数据
  cobbler import  --path=挂载点   --name=导入系统命名(随意起)  
  cobbler导入的镜像放在:/var/www/cobbler/ks_mirror
  cobbler list    #查看有哪些系统

删除
  cobbler list 
  cobbler profile remove --name=[list查找到的菜单中的一个]   #删除菜单信息
  cobbler distro remove --name=[list查找到的镜像中的一个]   #删除镜像信息

自定义应答文件:开头注释行删除

   system-config-kickstart  #生成ks文件(镜像文件在/var/www/cobbler/ks_mirror)

必须默认kickstart文件存放位置:/var/lib/cobbler/kickstarts/

修改kickstart文件:   cobbler profile edit --name=[list查找到的菜单中的一个]  --kickstart=/var/lib/cobbler/kickstarts/[名字].cfg
   cobbler profile report
   cobbler sync  #同步配置


搭建一键装机双系统平台
一 、搭建DHCP服务
1.安装dhcp

2.修改配置文件

3.重起dhcpd服务,设置开机自启

二、搭建tftp

1. 安装tftp-server

2. 启动tftp服务,设置开机自启

3. 部署pxeliunx.0

4. 部署两个系统的光盘内容到apache网络中,并且搭建httpd服务共享光盘所有内容
   yum -y install httpd
   cp -r  [一个系统的挂载点]*    /var/www/html/[创建一个系统的文件夹]
   systemctl restart httpd
   systemctl enable httpd

5.部署两个系统光盘中的启动内核与驱动程序到tftp中
  cp /var/www/html/[一个系统]/isolinux/vmlinuz  /var/www/html/[一个系统]/isolinux/initrd.img  /var/lib/tftpboot/[一个系统]/

6.部署一个图形模块与背景
  cp /var/www/html/[随便一个系统]/isolinux/vesamenu.c32  /var/lib/tftpboot/

  rpm -ql syslinux | grep jpg   #查找那只可爱企鹅的背景图片
  cp /usr/share/doc/syslinux-4.05/sample/syslinux_splash.jpg   /var/lib/tftpboot/

7.部署一个菜单文件
  mkdir /var/lib/tftpboot/pxelinux.cfg
  cp /var/www/html/[某个系统]/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
  chmod 644 /var/lib/tftpboot/pxelinux.cfg/default  (可以不设置权限)

8.修改菜单文件内容  /var/lib/tftpboot/pxelinux.cfg/default

......
menu background syslinux_splash.jpg
menu title Welcome to PXE Server!
......
label linux
  menu label Install [一个系统名]
  kernel [一个系统]/vmlinuz
  append initrd=[一个系统]/initrd.img

label vesa
  menu label Install [一个系统名]
  kernel [一个系统]/vmlinuz
  append initrd=[一个系统]/initrd.img 

label local
  menu label Boot from local drive
  menu default                       #读秒结束最后默认选择
  localboot 0xffff

三、自动应答
生成ks文件,用system-config-kickstart图像界面
  yum -y install system-config-kickstart
  system-config-kickstart

  注意:1.修改Yum客户端配置文件的标示名[development]
       2.注意系统装的是什么文件系统类型
       3.配置ks文件需要用到本机yum,所以每次创建一个ks文件,就要修改一次yum,可以用自己搭建的http服务,不过要记得清除缓存

指定ks应答文件

  1.共享ks应答文件
    cp /root/ks*  /var/www/html/
    ls /var/www/html/

  2.修改菜单文件  /var/lib/tftpboot/pxelinux.cfg/default

label linux
  menu label Install [一个系统名]
  kernel [一个系统]/vmlinuz
  append initrd=[一个系统]/initrd.img ks=http://[IP]/[应答文件名].cfg

猜你喜欢

转载自blog.csdn.net/Yu1543376365/article/details/82120192