centos7初始化脚本(配置主机名,IP,hosts,yum,关闭防火墙,时间同步)

自己编写的脚本,很随意, 参考看一下就好,用的就是最简单的语法!

这里分三种情况(是根据ip的有没有配置)

情况一

如果你的网卡IP没有配好,用了的是NAT模式,且关了DHCP动态分布,无法直接配置,需要自己先手动配好虚拟机的IP!

 我这里是配好ip能上外网执行的脚本

 这里建议你复制粘贴的时候,在vim编辑器中选择粘贴模式,这样粘贴的格式不会出错,在命令行模式中输入   :set paste     即可进入到粘贴模式!

#!/bin/bash
#centos7: 初始化脚本
#auther:LESHENG

# 防火墙设置

echo "关闭防火墙和selinux中...."

echo
        systemctl stop firewalld && systemctl disable firewalld &> /dev/null && setenforce 0 &&  sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config

        if [ $? -eq 0 ];then
                echo "防火墙和selinux已经成功关闭....."
        else
                echo "防火墙和selnux关闭失败,请手动关闭!!!"
        fi
echo

#外网检测
echo "正在检测网络是否能上外网......"

echo

        ping -c 2 www.baidu.com &> /dev/null

        if [ $? -eq 0 ];then
                echo "网络正常"
        else
                echo "网络不可达!"
        fi
echo

# 配置yum源-这里选用阿里源

echo "配置yum源中....."
echo
        yum install -y wget &> /dev/null
        if [ $? -ne 0 ];then
                echo "wget 安装失败........."
                systemctl restart network
                yum repolist &> /dev/null
                sleep 2
        fi
        mkdir -p /root/YUM_backup
        mv /etc/yum.repos.d/* /root/YUM_backup
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
        yum clean all &>/dev/null && yum reppolist &>/dev/null
        echo "你的yum源有:" $(ls /etc/yum.repos.d)
        sleep 2

#配置主机名和host文件

echo "正在配置你的主机名..."

echo
        read -p "请输入你的主机名:" host 

        hostname(){
                hostnamectl set-hostname $host
        }
        hostname host && echo -e "主机名设置成功!!"

echo "正在配置你的hosts文件..."
        ip=$(ip a | grep ens33 |grep inet |awk '{print $2}' | awk -F"/" '{print $1}')
        echo "$ip $host" >> /etc/hosts
        echo  "hosts配置完成!!!"

# 安装基础软件包

        echo "安装基础软件包中....."
        echo

        yum install -y vim wget lrzsz net-tools gcc libpcap libpcap-devel yum_utils &>/dev/null
        if [ $? -eq 0 ];then
                echo "安装完成....."
        else
                echo "安装失败..... "
        fi
# 时间同步
echo
        echo "时间同步中……"
        yum install -y ntpdate &> /dev/null
        ntpdate cn.pool.ntp.org &> /dev/null
        file=$(who | head -1 | cut -d" " -f1)
        echo "* */1 * * * /usr/sbin/ntpdate   cn.pool.ntp.org" > /var/spool/cron/$file
        if [ $? -eq 0 ];then
                echo "时间同步成功!!!"
                echo "unset MAILCHECK" >> /etc/profile
                source /etc/profile &> /dev/null
        else
                echo "时间同步失败!!!"
        fi

情况二

如果你是DHCP动态分配地址的,或者想以这种方法让虚拟机获取到ip的。这里可以修改你的ip为静态ip,且静态的ip为你动态获取的ip地址。

#!/bin/bash
#centos7: 初始化脚本
#auther:LESHENG

# 防火墙设置

echo "关闭防火墙和selinux中...."

echo
        systemctl stop firewalld && systemctl disable firewalld &> /dev/null && setenforce 0 &&  sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config

        if [ $? -eq 0 ];then
                echo "防火墙和selinux已经成功关闭....."
        else
                echo "防火墙和selnux关闭失败,请手动关闭!!!"
        fi

#配置IP地址

       echo "开始配置你的ip....."
chack_ip () {
       sed -i.bak 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/' /etc/sysconfig/network-cripts/ifcfg-ens33
       ip=`ip a | grep ens33 |grep inet |awk '{print $2}' | awk -F"/" '{print $1}'`
       net=255.255.255.0
       gate=`route -n |awk 'NR==3{print $2}'`
       dns=`cat /etc/resolv.conf |grep nameserver |awk '{print $2}'`
}

chack_ip
(
cat <<EOF
IPADDR=$ip
NETMASK=$net
GATEWAY=$gate
DNS1=$dns
EOF
) >> /etc/sysconfig/network-scripts/ifcfg-ens33
       systemctl restart network 
       if [ $? -eq 0 ];then
               echo "ip 配置成功"
       else
               echo "IP配置失败,请手动配置!"
       fi
sleep 2

#外网检测
echo "正在检测网络是否能上外网......"

echo

        ping -c 2 www.baidu.com &> /dev/null

        if [ $? -eq 0 ];then
                echo "网络正常"
        else
                echo "网络不可达!"
        fi
echo

# 配置yum源-这里选用阿里源

echo "配置yum源中....."
echo
        yum install -y wget &> /dev/null
        if [ $? -ne 0 ];then
                echo "wget 安装失败........."
                systemctl restart network
                yum repolist &> /dev/null
                sleep 2
        fi
        mkdir -p /root/YUM_backup
        mv /etc/yum.repos.d/* /root/YUM_backup
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
        yum clean all &>/dev/null && yum reppolist &>/dev/null
        echo "你的yum源有:" $(ls /etc/yum.repos.d)
        sleep 2

#配置主机名和host文件

echo "正在配置你的主机名..."

echo
        read -p "请输入你的主机名:" host 

        hostname(){
                hostnamectl set-hostname $host
        }
        hostname host && echo -e "主机名设置成功!!"

echo "正在配置你的hosts文件..."
        ip=$(ip a | grep ens33 |grep inet |awk '{print $2}' | awk -F"/" '{print $1}')
        echo "$ip $host" >> /etc/hosts
        echo  "hosts配置完成!!!"

# 安装基础软件包

        echo "安装基础软件包中....."
        echo

        yum install -y vim wget lrzsz net-tools gcc libpcap libpcap-devel yum_utils &>/dev/null
        if [ $? -eq 0 ];then
                echo "安装完成....."
        else
                echo "安装失败..... "
        fi
# 时间同步
echo
        echo "时间同步中……"
        yum install -y ntpdate &> /dev/null
        ntpdate cn.pool.ntp.org &> /dev/null
        file=$(who | head -1 | cut -d" " -f1)
        echo "* */1 * * * /usr/sbin/ntpdate   cn.pool.ntp.org" > /var/spool/cron/$file
        if [ $? -eq 0 ];then
                echo "时间同步成功!!!"
                echo "unset MAILCHECK" >> /etc/profile
                source /etc/profile &> /dev/null
        else
                echo "时间同步失败!!!"
        fi

情况三

自定义自己的ip,在执行脚本时,手动式输入自己的ip的DNS模式

#!/bin/bash
#centos7: 初始化脚本
#auther:LESHENG

# 防火墙设置

echo "关闭防火墙和selinux中...."

echo
        systemctl stop firewalld && systemctl disable firewalld &> /dev/null && setenforce 0 &&  sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config

        if [ $? -eq 0 ];then
                echo "防火墙和selinux已经成功关闭....."
        else
                echo "防火墙和selnux关闭失败,请手动关闭!!!"
        fi

# 配置IP地址
read -p "请输入你的IP地址(输错了可以按ctrl+backspace键删除):" ip
read -p "请输入你的掩码地址(输错了可以按ctrl+backspace键删除):" net
read -p "请输入你的网关地址(输错了可以按ctrl+backspace键删除):" gate
read -p "请输入你的DNS地址(输错了可以按ctrl+backspace键删除):" dns

cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
IPADDR=$ip
NETMASK=$net
GATEWAY=$gate
DNS1=$dns
EOF

       systemctl restart network 

       if [ $? -eq 0 ];then
               echo "IP 配置成功"
       else
               echo "IP 配置失败,请手动配置!!!"
       fi
sleep 2

#外网检测
echo "正在检测网络是否能上外网......"

echo

        ping -c 2 www.baidu.com &> /dev/null

        if [ $? -eq 0 ];then
                echo "网络正常"
        else
                echo "网络不可达!"
        fi
echo

# 配置yum源-这里选用阿里源

echo "配置yum源中....."
echo
        yum install -y wget &> /dev/null
        if [ $? -ne 0 ];then
                echo "wget 安装失败........."
                systemctl restart network
                yum repolist &> /dev/null
                sleep 2
        fi
        mkdir -p /root/YUM_backup
        mv /etc/yum.repos.d/* /root/YUM_backup
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
        yum clean all &>/dev/null && yum reppolist &>/dev/null
        echo "你的yum源有:" $(ls /etc/yum.repos.d)
        sleep 2

#配置主机名和host文件

echo "正在配置你的主机名..."

echo
        read -p "请输入你的主机名:" host 

        hostname(){
                hostnamectl set-hostname $host
        }
        hostname host && echo -e "主机名设置成功!!"

echo "正在配置你的hosts文件..."
        ip=$(ip a | grep ens33 |grep inet |awk '{print $2}' | awk -F"/" '{print $1}')
        echo "$ip $host" >> /etc/hosts
        echo  "hosts配置完成!!!"

# 安装基础软件包

        echo "安装基础软件包中....."
        echo

        yum install -y vim wget lrzsz net-tools gcc libpcap libpcap-devel yum_utils &>/dev/null
        if [ $? -eq 0 ];then
                echo "安装完成....."
        else
                echo "安装失败..... "
        fi
# 时间同步
echo
        echo "时间同步中……"
        yum install -y ntpdate &> /dev/null
        ntpdate cn.pool.ntp.org &> /dev/null
        file=$(who | head -1 | cut -d" " -f1)
        echo "* */1 * * * /usr/sbin/ntpdate   cn.pool.ntp.org" > /var/spool/cron/$file
        if [ $? -eq 0 ];then
                echo "时间同步成功!!!"
                echo "unset MAILCHECK" >> /etc/profile
                source /etc/profile &> /dev/null
        else
                echo "时间同步失败!!!"
        fi

 后面的两种情况,我没有执行试过,如有错误,欢迎一起讨论学习哈!!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值