脚本一键部署 (DHCP、dns、pxe、raid、nfs+apache+expect、lvm、磁盘分区、监控资源)

本文档详述了一套完整的Linux自动化部署脚本,涵盖了DHCP、DNS、PXE一键装机、RAID、DFS+Apache+免密登录、LVM、磁盘分区、系统资源监控等方面,旨在实现高效、便捷的服务器管理和维护。
摘要由CSDN通过智能技术生成

目录

一、DHCP

二、DNS

三、PXE(一键装机)

四、RAID

五、DFS+APACHE+免密登录(expect)

六、LVM

七、磁盘分区

八、监控资源(cpu、内存等)

九、系统信息(主机名、IP地址、系统版本、内核版本、cpu名称、内存总大小、磁盘总大小)

十、查看目录下有多少文件


#!/bin/bash

systemctl stop firewalld

setenforce 0

echo "配置前将网卡模式更改为仅主机模式"

read -p "如果已更改(任意键下一步)"

rpm -q dhcp #检测dhcp是否安装

if [ $? -eq 0 ];then

   echo "已安装dhcp"

else

   echo "未安装dhcp,开始下载安装dhcp"

     yum -y install dhcp &> /dev/null

     echo "安装完成"

fi

#修改网卡配置

read -p "输入新ip:" xin_ip

read -p "输入新网关:" xin_way

ip=`cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "IPADDR" | awk -F"=" 'print $2'`

way=`cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "GATEWAY" | awk -F"=" 'print $2'`

sed -i "/IPADDR/s/$ip/$xin_ip/" /etc/sysconfig/network-scripts/ifcfg-ens33

sed -i "/GATEWAY/s/$way/$xin_way/" /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network

#复制配置文件

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf <<EOF

y

EOF

#修改配置文件

read -p "输入网段:" net

#地址池需要2个ip中间需要一个空格(如:192.168.100.10 192.168.100.30)

read -p "输入地址池范围:" dizhici

echo "subnet $net netmask 255.255.255.0 {

range $dizhici;

option routers $xin_way;

}

">> /etc/dhcp/dhcpd.conf

#启动dhcp服务

systemctl restart dhcpd

二、DNS

#!/bin/bash

#关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

#关闭核心防护

setenforce 0

rpm -q bind

if [ $? -eq 0 ];then

    echo "DNS服务已安装"

else

    echo "DNS服务未安装,开始安装"

    yum install -y bind > /dev/null

    echo "DNS已安装"

fi

##修改全局配置文件

read -p "请输入ip地址" ip

sed -i '/listen-on port /listen-on/s/127.0.0.1/$ip/' /etc/named.conf

sed -i '/allow-query/s/localhost/any/' /etc/named.conf

#修改区域配置文

read -p "请输入域名(如: xiaogang):"  url

sed -i  '/zone/s/localhost.localdomain/$url/' /etc/named.rfc 1912.zones

sed -i '/file/s/named.localhost/$url\.zone/' /etc/named.rfc1912.zones

#修改区域数据配置文件

cp -p /var/named/named.localhost /var/named/$url.zone

cat <<EOF >/var/named/$name.com.zone

$TTL 1D                                       #设置缓存解析结果的有效时间

@       IN SOA xiaogang.com. admin.$url.com. (

                                           0; serial .

                                           1D; refresh

                                           1H; retry

                                           1W; expire

                                           3H ) ; minimum

         NS   $url.com.               #记录当前区域的DNS服务器的名称

         A     192.168.100.10             #记录主机IP地址

IN   MX  10    $url.com.             #MX为邮件交换记录,数字越大优先级越低

www  IN  A     192.168.100.100           #记录正向解析www.$url.com对应的IP

mail IN  A     192.168.100.200          #CNAME使用别名,ftp是www的别名

*    IN   A    192.168.100.250           #泛域名解析,“*"代表任意主机名

EOF

#开启named服务

systemctl start named

#在另一台虚拟机上设置

#sed -ri /nameserver/s/114.114.114.114/192.168.100.10 /etc/resolv.conf

#nslookup www.$url.com

#nslookup mail.$url.com

#nslookup ftp.$url.com

三、PXE(一键装机)

#!/bin/bash

echo "=====PXE 自动安装"

#关闭防火墙,安全防护中心

systemctl stop firewalld &> /dev/null

systemctl disable firewalld &> /dev/null

setenforce 0 &> /dev/null

echo "提示:请新增一张网卡如ens37,设置为仅主机模式,共服务使用。

                IP设置请根据虚拟机的虚拟网络编辑器的IP来自行定义。                                                               本脚本安装系统,默认登录用户名为:root  密码为:root   请及时修改!!!   

 下面开始安装####"

echo "==============ens37网卡配置================================="

cd /etc/sysconfig/network-scripts

cp ifcfg-ens33 ifcfg-ens37

sed -i '/IPADDR/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/NETMASK/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/GATEWAY/d' /etc/sysconfig/network-scripts/ifcfg-ens37 >&/dev/null

sed -i '/DNS/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/DEVICE/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/NAME/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

sed -i '/BOOTPROTO/d' /etc/sysconfig/network-scripts/ifcfg-ens37 &>/dev/null

read -p "请输入IP地址: " IP

read -p "请输入子网掩码地址: " NET

read -p "请输入网关地址: " GAT

read -p "请输入DNS地址: " dns

echo "IPADDR=$IP

NETMASK=$NET

GATEWAY=$GAT

DNS1=$dns

BOOTPROTO=static

NAME=ens37

DEVICE=ens37" >> /etc/sysconfig/network-scripts/ifcfg-ens37

echo "网卡配置完成"

#重启网络配置,生效ens37

systemctl restart network &> /dev/null

  if [ $? -eq 0 ];then

    echo "网络服务重启成功"

    else

   echo "网络服务重启失败,请检查"

  fi

echo "==============安装配置DHCP服务========"

#判断dhcp是否安装

rpm -q dhcp &> /dev/null

if [ $? -eq 0 ];then

  echo "DHCP服务已安装" 

else

  yum -y install dhcp &> /dev/null

fi

rm -rf /etc/dhcp/dhcpd.conf &> /dev/null

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf <<EOF

y

EOF

#编辑DHCP的配置文件

read -p "输入DHCP网段: " wangduan

read -p "输入子网掩码: " yanma

read -p "输入地址池(中间以空格间隔): " dizhichi

read -p "输入DHCP网关IP地址: " wangguan

echo "

ddns-update-style none;

subnet $wangduan netmask $yanma {

  range $dizhichi;

  option routers $IP;

  option domain-name-servers 114.114.114.114;

  next-server $IP;

  filename \"pxelinux.0\";

}" >>/etc/dhcp/dhcpd.conf

systemctl start dhcpd &> /dev/null

   if [ $? -eq 0 ];then 

     echo "dhcp服务启动成功"

   else 

     echo "dhcp服务启动失败"

   fi

systemctl enable dhcpd &> /dev/null

echo &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值