介绍
小编给大家分享一下壳脚本如何实现公司项目部署交付环境预检查,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
示例代码:
# !/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 nullshell脚本如何实现公司项目部署交付环境预检查