DHCP脚本,修改网卡信息脚本,编译安装nginx脚本,pxe脚本

目录

DHCP脚本

修改网卡信息脚本

编译安装nginx

pxe批量装机脚本


DHCP脚本

仅供参考(不保证谁都可以使用)

#!/bin/bash
pzwj () {
read -p "输入网段:" NET #输入网段,ip去掉主机位
read -p "输入子网掩码:" MASK    #输入子网掩码
read -p "输入地址池:" RANGE     #输入主机池
read -p "输入dns:" DNS1 #首选dns
read -p "输入网关地址:" GATE    #网关地址
read -p "输入广播地址:" BROA    #广播地址
echo "subnet $NET netmask $MASK {" >> /etc/dhcp/dhcpd.conf
echo "range $RANGE;" >> /etc/dhcp/dhcpd.conf
echo "option domain-name-servers $DNS1;" >> /etc/dhcp/dhcpd.conf
echo 'option domain-name "internal.example.org";' >> /etc/dhcp/dhcpd.conf
echo "option routers $GATE;" >> /etc/dhcp/dhcpd.conf
echo "option broadcast-address $BROA;" >> /etc/dhcp/dhcpd.conf
echo "default-lease-time 600;" >> /etc/dhcp/dhcpd.conf
echo "  max-lease-time 7200;" >> /etc/dhcp/dhcpd.conf
echo "}" >> /etc/dhcp/dhcpd.conf

#重启服务并判断是否成功
systemctl restart dhcpd &> /dev/null
if [ $? -eq 0 ]
then echo success!
else echo sorry!you are wrong!
fi
}
rpm -q dhcp &>/dev/null
if [ $? -eq 0 ]
then echo "已安装dhcp"
pzwj
else
yum install -y dhcp &>/dev/null
if [ $? -eq 0 ]
then echo "安装完成!"
pzwj
fi
fi

修改网卡信息脚本

仅供参考(不保证谁都可以使用)

#!/bin/bash
new(){
read -p  "请输入你的IP地址:" host
read -p  "请输入你的网关地址:" gate

sed -i "15a\\IPADDR=${host}" /etc/sysconfig/network-scripts/ifcfg-ens33
if 
[  $? -eq 0 ]
then echo "地址修改成功"
else echo "地址修改失败"
fi

sed -i "16a\\NETMASK=255.255.255.0" /etc/sysconfig/network-scripts/ifcfg-ens33
if 
[  $? -eq 0 ]
then echo "子网修改成功"
else echo "子网修改失败"
fi

sed -i "17a\\GATEWAY=${gate}" /etc/sysconfig/network-scripts/ifcfg-ens33 
if 
[  $? -eq 0 ]
then echo "网关修改成功"
else echo "网关修改失败"
fi

sed -i "18a\\DNS1=8.8.8.8" /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i "19a\\DNS2=114.114.114.114" /etc/sysconfig/network-scripts/ifcfg-ens33
if 
[  $? -eq 0 ]
then echo "DNS修改成功"
else echo "DNS修改失败"
fi

sed -i "s/ONBOOT=no/ONBOOT=yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33 
sed -i "s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network
if 
[  $? -eq 0 ]
then echo "网络服务重启成功"
else echo "网络服务重启失败"
fi
}

old(){
read -p  "请输入你的IP地址:" host
read -p  "请输入你的网关地址:" gate

sed -i.bak "s/IPADDR=.*/IPADDR=${host}/" /etc/sysconfig/network-scripts/ifcfg-ens33

if 
[  $? -eq 0 ]
then echo "IP地址修改成功"
else echo "IP地址修改失败"
fi

sed -i     "s/NETMASK=.*/NETMASK=255.255.255.0/" /etc/sysconfig/network-scripts/ifcfg-ens33
if 
[  $? -eq 0 ]
then echo "子网修改成功"
else echo "子网修改失败"
fi

sed -i     "s/GATEWAY=.*/GATEWAY=${gate}/" /etc/sysconfig/network-scripts/ifcfg-ens33
if 
[  $? -eq 0 ]
then echo "网关修改成功"
else echo "网关修改失败"
fi


systemctl restart network
if 
[  $? -eq 0 ]
then echo "网络服务重启成功"
else echo "网络服务重启失败"
fi
}

echo " 
1 新建系统配置网卡
2 旧系统更换IP地址
3 退出脚本
"
read -p  "请输入1,2,3:" i
case $i  in 
1)
new;;
2)
old;;
3)
exit;;
*)
echo "输入有误,请输入1或2";;
esac

编译安装nginx

仅供参考(不保证谁都可以使用)

#!/bin/bash
bb=`cat /etc/redhat-release | cut -d ' ' -f1`
if [ $bb = 'CentOS' ]
then echo "系统是CentOS系统"
echo "检测防火墙是否关闭"
systemctl status firewalld.service |grep 'running'
   if [ $? -eq 0 ]
   then echo "防火墙处于开启状态,关闭防火墙"
   systemctl stop firewalld.service
	if [ $? -eq 0]
	then echo "防火墙已关闭"
	else echo "防火墙未关闭"
	fi
   else echo "防火墙处于关闭状态"
   fi
aa=`getenforce`
   if [ $aa = "Enforcing" ]
   then echo "seLinux处于开启状态,关闭seLinux"
   setenforce 0
	if [ $? -eq 0]
	then echo "seLinux已关闭"
	else echo "seLinux未关闭"
	fi
   else echo "seLinux处于关闭状态"
   fi
rpm -q nginx &>/dev/null
if [ $? -eq 0 ]
  then echo "已安装nginx"
  else read -p "没有安装nginx,是否安装(yes|no)" button
  button=`echo $button | tr 'A-Z' 'a-z'`
  case $button in 
    y|yes)
    mkdir /nginx
    cd /nginx
echo "客官,请稍等片刻"
    wget http://nginx.org/download/nginx-1.18.0.tar.gz &>/dev/null
    if [ $? -eq 0 ]
       then echo "下载完成,开始安装nginx"
       tar xf ./nginx-1.18.0.tar.gz
       mkdir nginx
       rm -rf ./*.gz
       cd /nginx/nginx-1.18.0
       echo "安装配置环境"
       yum -y install pcre-devel zlib-devel gcc gcc-c++ make &>/dev/null
       if [ $? -eq 0 ] 
       then echo "配置环境安装完成"
       else echo "配置环境安装失败" 
	    exit
       fi
	 ./configure  --prefix=/nginx/nginx &>/dev/null
	 if [ $? -eq 0 ]
	   then echo "系统检测完成"
	   make -j2 &>/dev/null 
	   if [ $? -eq 0 ]
	      then make install &>/dev/null 
	      if [ $? -eq 0 ]
		 then echo "拷贝完成"
	      else echo "拷贝出错"
	      fi
	   else echo "编译出错"
           fi
	 else echo "系统检测失败" 
	 fi
       touch /lib/systemd/system/nginx.service
       echo "
[Unit]
Description=nginx - high    performance web server

[Service]
PIDFile=/nginx/nginx/logs/nginx.pid
ExecStart=/nginx/nginx/sbin/nginx
ExecReload=/bin/kill    -s    HUP        $MAINPID
ExecStop=/bin/kill      -s      TERM      $MAINPID

[Install]
WantedBy=multi-user.target
" > /lib/systemd/system/nginx.service
       systemctl daemon-reload
       if [ $? -eq 0 ]
	  then echo "系统重新加载成功"
       else  echo "系统重新加载失败"
       fi
       systemctl start nginx
       if [ $? -eq 0 ]
	  then echo "nginx启动成功"
       else  echo "nginx启动失败"
       fi
     else echo "下载失败"
     fi
   ;;
   n|no)
   exit
   ;;
   *)
   echo "请输入正确指令!"
   bash $0
   ;;
   esac
  fi
else echo "系统不是CentOS"
exit
fi

pxe批量装机脚本

仅供参考(不保证谁都可以使用)此代码仅限于本人使用,其他人使用需要修改内容

#!/bin/bash
#dhcp配置
pzwj () {
echo 'subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.15 192.168.3.50;
option domain-name-servers 8.8.8.8;
option domain-name "internal.example.org";
option routers 192.168.3.2;
option broadcast-address 192.168.3.255;
next-server 192.168.3.100;
filename "pxelinux.0";
default-lease-time 600;
max-lease-time 7200;
}' > /etc/dhcp/dhcpd.conf
if [ $? -eq 0 ]
then echo "写入成功!"
else echo "写入失败!!!"
fi
#重启服务并判断是否成功
systemctl restart dhcpd &> /dev/null
if [ $? -eq 0 ]
then
echo "DHCP启动成功!"
else
echo sorry!you are wrong!
fi
}

#tftp配置
pz () {
sed -in  '/disable/s#yes#no#'  /etc/xinetd.d/tftp
if [ $? -eq 0 ]
then echo "修改成功!"
#启动tftp
systemctl start tftp &> /dev/null
if [ $? -eq 0 ]
then echo "tftp启动成功!"
else echo "tftp启动失败!"
fi
else echo "修改失败!"
fi
}

#检测vsftpd是否安装
vs ()  {
rpm -q vsftpd &> /dev/null
if [ $? -eq 0 ]
then echo "已安装vsftpd"
systemctl start vsftpd &> /dev/null
if [ $? -eq 0 ]
then echo "vsftpd开启成功!"
else echo "vsftpd开启失败!"
fi
else echo "未安装vsftpd"
yum install -y vsftpd &> /dev/null
if [ $? -eq 0 ]
then echo "vsftpd安装成功!"
systemctl start vsftpd &> /dev/null
else echo "vsftpd安装失败!"
fi
fi
}

#拷贝四大文件
cop () {
vs
cd /var/ftp
echo '#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$fr3DI5TM$Fw8T9r3Mq/FG/RlnBbH5k0
# Use network installation
url --url="ftp://192.168.3.100/centos7"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=4096
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1
'>ks.cfg
mkdir centos7
mount /dev/sr0 centos7
if [ $? -eq 0 ]
then echo "挂载成功!"
cd centos7/images/pxeboot
cp initrd.img /var/lib/tftpboot
cp vmlinuz /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot
cd /var/lib/tftpboot
mkdir pxelinux.cfg
cd  pxelinux.cfg
touch default
echo '
default    heitui
timeout   600
	labrel  heitui
		kernel  vmlinuz
		append  initrd=initrd.img     method=ftp://192.168.3.100/centos7 ks=ftp://192.168.3.100/ks.cfg
	label  linux  test
		kernel  vmlinuz
		append  test  initrd=initrd.img     method=ftp://192.168.3.100/centos7 ks=ftp://192.168.3.100/ks.cfg
	label  linux   recuse
		kernel  vmlinuz
		append   recuse   initrd=initrd.img     method=ftp://192.168.3.100/centos7 ks=ftp://192.168.3.100/ks.cfg
'>default

else echo "挂载失败!"
fi
}
#检测防火墙,selinux是否关闭
ch () {
systemctl status firewalld.service|grep "running" &> /dev/null
if [ $? -eq 0 ]
then  echo "防火墙处于打开状态,关闭防火墙"
systemctl stop firewalld.service
else echo "防火墙处于关闭状态"
fi
getenforce | grep "enforcing"
if [ $? -eq 1 ]
then echo "selinux已关闭!"
else echo "selinux未关闭!"
setenforce 0 &> /dev/null
fi
}


ch

#检测syslinux是否安装
rpm -q syslinux &> /dev/null
if [ $? -eq 0 ]
then echo "syslinux已安装!"
else echo "syslinux未安装!"
yum install -y syslinux &> /dev/null
if [ $? -eq 0 ]
then echo "syslinux安装成功!"
else echo "syslinux安装失败!"
fi 
fi
#检测dhcp是否安装,配置dhcp文件,启动dhcp
rpm -q dhcp &>/dev/null
if [ $? -eq 0 ]
then
echo "已安装dhcp"
pzwj
else
yum install -y dhcp &>/dev/null
if [ $? -eq 0 ]
then echo "安装完成!"
pzwj
fi
fi

#检测vsftpd是否安装
rpm -q vsftpd &> /dev/null
if [ $? -eq 0 ]
then echo "vsftpd已安装!"
else echo "vsftpd未安装!"
yum install -y vsftpd &> /dev/null
if [ $? -eq 0 ]
then echo "vsftpd安装成功!"
else echo "vsftpd安装失败!"
fi
fi


#检测tftp是否安装,配置tftp配置文件,启动tftp
rpm -q tftp-server &>/dev/null
if [ $? -eq 0 ]
then echo "已安装tftp!"
pz
else echo "未安装tftp!"
yum  install -y tftp-server &>/dev/null
if [ $? -eq  0 ]
then echo "安装成功!"
pz
else echo "安装失败!"
fi
fi

cop
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值