shell脚本如何实现公司项目部署交付环境预检查

  介绍

小编给大家分享一下壳脚本如何实现公司项目部署交付环境预检查,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

示例代码:

# !/usr/bin/env  bash   根=$ (   cd 才能;$ (dirname  0美元)   ,pwd   )      source “root"美元/dragonrc      CPU=$ (echo “cat /proc/cpuinfo  |, grep “physical  id", |, uniq  |, wc  - l 'H")   MEM=$ (echo “$ ((“cat /proc/meminfo  |, grep  MemTotal  | awk  & # 39; {print  $ 2} & # 39;“,/, 1000000)) G")   时间=$(日期)      rpm  -q  ansible ,在/dev/null      if [$ ?大敌;-ne  0,);   ,,,sh  $ {root}/脚本/install_ansible.sh ,在/dev/null   fi      提示(){   ,,,read  -p “请按回车继续:“   }      COPY_KEY () {   ,,,的回声   ,,,的回声   sh  $ {root}/脚本/copy-key.sh   ,,,的回声   ,,,的回声      }      CK_UMASK () {   UMASK_NUM=$ (ansible  dragon  -m  shell  -a “umask" | grep  0022 | wc  - l)   ALL_HOSTS=$ (echo “$ {ALL_NODES}“| awk  -F",“, & # 39;{为(i=1; i<=NF;我+ +),print  $我}& # 39;| wc  - l)   ,,,的回声   ,,,echo  -e “033年\[5、32、31米正在为您检测umask值,请耐心等待033年…\ [0 m"   ,,,的回声   ,,,if  [, $ {UMASK_NUM} -ne  $ {ALL_HOSTS},);   ,,,,,,,echo  -e “033 \ [1、32、31 m检测到节点umask值非022,将为您执行修改操作! 033 \ [0 m"   ,,,,,,sleep  3   ,,,,,,,,,,,ansible  dragon  -m  shell  -a “sed 小姐;& # 39;s/^ * umask。*/umask  022/舌鳎# 39;,/etc/profile"   ,,,,,,,,,,,ansible  dragon  -m  shell  -a “source /etc/profile"   ,,,,,,,,,,,ansible  dragon  -m  shell  -a “sed 小姐;& # 39;s/^ * umask。*/umask  022/舌鳎# 39;,/etc/bashrc"   ,,,,,,,,,,,ansible  dragon  -m  shell  -a “source /etc/bashrc"   ,,,,,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -以下为各节点umask值- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,,,,,,,,,ansible  dragon  -m  shell  -a “umask"   ,,,,,,,echo  -e “033 \[1、32、31米提示:如果以上返回结果非0022,那就是自动设置失败,请手动调整umask值! 033 \ [0 m"   ,,,   清晰的   ,,,,,,,echo  -e “033 \ [1、32、31 m所有节点umask值全部为022 \ 033 (0 m"   回声   ,,fi   }   CK_NETWORK_NAME () {   ,,,的回声   ,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -检测所有节点主机网卡名- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,IFS=& # 39; & # 39;, read  -r  -a  nodes  & lt; & lt; & lt;“$ {ALL_NODES}“;   ,,,for  p 拷贝“${节点[@]}“;做   ,,,的回声   ,,,ssh  -q  -o  & # 39; StrictHostKeyChecking 没有# 39;,-o  & # 39; UserKnownHostsFile /dev/null # 39;, -T  p 美元;ip  addr  | grep  p 美元;|,awk  & # 39; {print  2美元,7美元}& # 39;   ,,,的回声   ,才能完成   ,,,echo  -e “033 \[1、32、35米提示:请您把网卡名复制到dragonrc配置033 ~ \ [0 m"   ,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -以上为所有节点主机网卡名- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,的回声   }   CK_HOST_NAME () {   ,,,的回声   ,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -检测所有节点主机名- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,ansible  dragon  -m  shell  -a “hostname"   ,,,,,,,,,,,echo  -e “033 \[1、32、31米提示:检查主机名,不能是出现大写或特殊符033号~ \ [0 m"   ,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -以上为所有节点主机名- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,的回声   }   CK_HOSTS () {   ,,,的回声   ,,,echo  -e “033 \ [1、32、31 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -检测所有节点主机配置- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 033年\ [0 m"   ,,,sh  $ {root}/脚本/hostname.sh   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

shell脚本如何实现公司项目部署交付环境预检查