PXE自动化部署系统工具脚本集成(适用于RHL7/CentOS7系)

部署服务deploy.sh

#!/bin/bash
# author: zhouzhuo
# create time: 2020/5/21#使用前请先确定网卡
IFCFG=ens33
#获得当前主机的IP地址
IP=`ifconfig $IFCFG | grep "inet " | awk -F " " '{print $2}'`
#获得当前主机的网络号
NETIP=`echo $IP |awk -F. '{print $1"."$2"."$3}'`
#获得当前主机的子网掩码
MASK=`ifconfig $IFCFG | grep "inet " | awk -F " " '{print $4}'`function presystem()
{    systemctl stop firewalld && systemctl disable firewalldsetenforce 0 &>/dev/nullmount -o loop /tmp/CentOS7.iso /mnt &>/dev/nulln=$(ls /mnt/$Date |wc -l)if [ $n -eq 0 ]thenecho "没有挂载光盘,请挂载光盘,退出脚本执行状态!"exitfi#配置本地yum仓库if [ -d /tmp/yumrepobk ]thenmv /etc/yum.repos.d/*.repo /tmp/yumrepobkelsemkdir /tmp/yumrepobk &&  mv /etc/yum.repos.d/*.repo /tmp/yumrepobkficat >>/etc/yum.repos.d/local.repo</dev/null
}
function install_ftp()
{if [ -d /etc/vsftpd ]thenecho "正在复制镜像内容......."if [ -d /var/ftp/public ]thencp -fr /mnt/* /var/ftp/public/elsemkdir /var/ftp/public && cp -fr /mnt/* /var/ftp/public/fiecho "完成复制......."#启动ftp服务systemctl restart vsftpd &>/dev/nullelseecho "该系统没有安装ftp服务,正在安装,请稍等....."yum install -y vsftpd &>/dev/nullif [ ! -d /etc/vsftpd ]thenecho "安装ftp失败,退出脚本执行状态!"exitfi#把光盘文件复制到ftp站点下echo "正在复制镜像内容......."if [ -d /var/ftp/public ]thencp -fr /mnt/* /var/ftp/public/elsemkdir /var/ftp/public && cp -fr /mnt/* /var/ftp/public/fiecho "完成复制......."systemctl start vsftpd  &>/dev/nullfi#搭建tftp站点if [ -f /etc/xinetd.d/tftp ]thentftp_status=$(grep disable /etc/xinetd.d/tftp |awk -F= '{print $2}')sed -i "s/$tftp_status/no/" /etc/xinetd.d/tftpsystemctl restart xinetd  &>/dev/nullelseecho "该系统没有安装tftp服务,正在安装,请稍等....."yum install -y tftp-server &>/dev/nullif [ ! -f /etc/xinetd.d/tftp ]thenecho "安装tftp失败,退出脚本执行状态!"exitfitftp_status=$(grep disable /etc/xinetd.d/tftp |awk -F= '{print $2}')sed -i "s/$tftp_status/no/" /etc/xinetd.d/tftpsystemctl start tftp &>/dev/nullfi
}
#配置DHCP服务
function install_dhcp()
{if [ -f /etc/dhcp/dhcpd.conf ]then
cat >/etc/dhcp/dhcpd.conf</dev/nullelseecho "该系统没有安装dhcp服务,正在安装,请稍等....."yum install -y dhcp &>/dev/nullif [ ! -f /etc/dhcp/dhcpd.conf ]thenecho "安装dhcp失败,退出脚本执行状态!"exitfi
cat >/etc/dhcp/dhcpd.conf</dev/nullfi
}function config_ks()
{cd /mnt/images/pxebootcp vmlinuz initrd.img  /var/lib/tftpboot#准备客户端主机无盘启动时所需的PXE引导程序(pxelinux.0)、启动菜单文件#安装syslinux软件包(支持PXE功能)yum -y install syslinux &>/dev/nullif [ ! -d /usr/share/syslinux ]thenecho "没有安装成功syslinux,退出脚本执行状态!"exitficp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot#建立启动菜单文件if [ ! -d /var/lib/tftpboot/pxelinux.cfg ]thenmkdir /var/lib/tftpboot/pxelinux.cfgficat >/var/lib/tftpboot/pxelinux.cfg/default</dev/nullecho "安装system-config-kickstart软件包完成!"
#配置ks.cfg文件
cat  >/var/ftp/public/ks.cfg<" keycase $key in 'yes'| 'y')presysteminstall_ftpinstall_dhcpcheck_svcconfig_ks;; 'no'| 'n')echo -e "Bye\n"exit;;*)mainesacecho "pxe服务端部署完成!"}
main

卸载:uninstall.sh

#!/bin/bash
# author: zhouzhuo
# create time: 2020/5/21systemctl stop tftp 
systemctl stop dhcpd
systemctl stop vsftpd
yum remove -y vsftpd tftp-server dhcp syslinux  system-config-kickstart
mv /tmp/yumrepobk/*.repo /etc/yum.repos.d/
rm -fr /tmp/yumrepobk /var/ftp/public  /var/lib/tftpboot/ /etc/vsftpd /etc/xinetd.d/ /etc/dhcp/


 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部