【CentOS7】系统初始化脚本

 

CentOS7初始化操作-环境配置及常用工具安装自动化:

 
 
  我们新安装的Linux系统在进行实验前都要配置环境,关闭防火墙,关闭selinux,以及安装一些基本必备的工具…
  作为一个成熟的系统,有些事也该学会自己做了,自动关闭防火墙,自动安装常用工具包…不会的话咱们就来教教他ƪ(˘⌣˘)ʃ
  以centos7为例,我们可以用脚本来完成这个初始化过程,执行的脚本会一步一步的自动完成这一系列繁琐的操作,放松双手的同时,又给一个个手动敲键盘的同学秀了一波┏ (゜ω゜)=☞

#!/usr/bin/bash
# 系统初始化安装脚本


echo -e "\033[32m 程序开始执行,检测执行环境中.... \033[0m"
sleep 3
if [ $UID -eq 0 ];then
    echo -e "\033[32m 当前执行用户为root,可以执行 \033[0m"
else
    echo -e "\033[31m 请使用root用户执行脚本 \033[0m \a"
    exit 1
fi
sleep 2
echo -e "\033[32m[`date +"%F-%T"`] 开始初始化系统\033[0m"
sleep 1
echo -e "\033[32m[`date +"%F-%T"`] 准备关闭防火墙\033[0m"
sleep 2
echo -e "\033[32m[`date +"%F-%T"`] 防火墙关闭中...\033[0m"
systemctl stop firewalld
sleep 1
echo -e "\033[32m[`date +"%F-%T"`] 防火墙关闭成功 继续初始化中...\033[0m"
sleep 1
echo -e "\033[32m[`date +"%F-%T"`] 关闭selinux...\033[0m"
setenforce 0   &>/dev/null
sleep 1
echo -e "\033[32m[`date +"%F-%T"`] selinux关闭成功\033[0m"
sleep 1

echo -e "\033[32m[`date +"%F-%T"`] 进行安装环境网络检测...\033[0m"
sleep 2
ping -w1 -c1 www.baidu.com &>/dev/null
if [ $? -eq 0 ];then
    echo -e "\033[32m 网络检测正常 \033[0m"
    sleep 2
    echo -e "\033[32m[`date +"%F-%T"`] 开始替换国内yum源\033[0m"
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  && \
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  && \
    echo -e "\033[32m[`date +"%F-%T"`] 替换国内yum源成功\033[0m" || \
    echo -e "\033[31m[`date +"%F-%T"`] 替换国内yum源失败\033[0m"
    sleep 3
    echo -e "\033[32m[`date +"%F-%T"`] 即将清除缓存并重新制作\033[0m"
    sleep 2
    yum clean all && yum makecache     #清除缓存并重新制作缓存
    sleep 1
    echo -e "\033[32m[`date +"%F-%T"`] 新的缓存数据制作成功\033[0m"
    sleep 2
    echo -e "\033[32m[`date +"%F-%T"`] 开始安装常用工具包\033[0m"
    yum -y install vim bash-completion wget ntpdate net-tools lrzsz htop iftop sysstat tree && \
    echo -e "\033[32m[`date +"%F-%T"`] 常用工具安装完毕\033[0m"  || \
    echo -e "\033[31m[`date +"%F-%T"`] 部分工具安装失败,请稍后手动安装\033[0m"
    sleep 2
    
    echo -e "\033[32m[`date +"%F-%T"`] 开始校准系统时间...\033[0m"
    ntpdate time.windows.com  &>/dev/null && \
    #sleep 1
    echo -e "\033[32m[`date +"%F-%T"`] 系统时间校准成功\033[0m" || \
    echo -e "\033[32m[`date +"%F-%T"`] 系统时间校准失败\033[0m"
    sleep 1
    
    echo -e "\033[32m[`date +"%F-%T"`] 系统初始化完成\033[0m"
    sleep 2
    echo -e "\033[32m========【欢迎使用`cat /etc/redhat-release|awk '{print$1,$2,$4}'` | 当前系统时间:`date +"%F-%T"`】========\033[0m"
    
else
    echo -e "\033[31m 网络检测异常,无法继续进行 \033[0m \a"
    sleep 1
    echo -e "\033[31m[`date +"%F-%T"`] 系统初始化失败\033[0m"
   
fi


脚本运行效果如下所示:
执行效果

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,作为AI语言模型,我无法提供具体的脚本代码。不过,我可以为您提供一些建议和指导,以帮助您编写适合您的环境和需求的脚本。 1. 安装ansible 在CentOS系统中,您可以使用以下命令安装ansible: ``` yum install ansible ``` 2. 配置ansible 在安装ansible之后,您需要配置ansible以便与其他主机进行通信。配置文件位于/etc/ansible/ansible.cfg 您可以根据需要修改以下配置选项: - inventory:指定主机清单文件的位置 - remote_user:指定在远程主机上运行任务所使用的用户 - become_method:指定在远程主机上以root身份运行任务的方法 - become_user:指定在远程主机上以哪个用户身份运行任务 3. 创建主机清单文件 主机清单文件指定了ansible要控制的主机列表。在CentOS系统中,默认的主机清单文件位于/etc/ansible/hosts。 您可以在主机清单文件中指定主机名、IP地址、端口号、用户名、密码等信息。例如: ``` [web] 192.168.1.100 ansible_ssh_user=root ansible_ssh_pass=password ``` 4. 编写ansible playbook ansible playbook是一组任务的集合,用于指定ansible要在远程主机上执行的操作。 以下是一个示例playbook,用于在远程主机上安装nginx: ``` --- - name: Install Nginx hosts: web become: true tasks: - name: Install Nginx yum: name: nginx state: present ``` 在此示例中,该playbook包含一个名为“Install Nginx”的任务,该任务将在名为“web”的主机组中运行。 5. 运行ansible playbook 使用以下命令运行ansible playbook: ``` ansible-playbook playbook.yml ``` 在此示例中,playbook文件名为playbook.yml。运行playbook之前,请确保已在控制节点上配置了ssh密钥以便与远程主机进行通信。 希望这些信息对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值