운영 자동화 SHELL 스 크 립 트
모두 가 토로 하 는 것 을 환영 합 니 다.
스 크 립 트 실행 의 기본:
1: 한 기 계 를 위주 로 하고 당신 이 관리 해 야 할 모든 기계 와 신뢰 관 계 를 맺 는 다 (ssh 방식 의 인터넷 에는 많은 방법 이 있 으 니 나 는 여기 서 말 하지 않 겠 다).
2: nginx 서비스 에서 프로필 다운 로드 를 지원 하 는 폴 더 를 설정 하 는 것 이 좋 습 니 다. (배포 할 패 키 지 를 넣 을 수 있 습 니 다)
3: 스 크 립 트 의 운행 필요 조건 에 따라 사용자 의 집 디 렉 터 리 에 [. lshost / server list] 를 구축 하고 server lis 는 회사 의 자산 관리 플랫폼 과 결합 할 수 있 습 니 다.
스 크 립 트 코드:
#!/bin/bash
exit_with_help()
{
echo "Usage: lshost [OPTION] PATTERN
Options:
-u ;
-c ;
-e , \${flag} (eg:jw_1)
-s
-h ;
eg: lshost -u -c 'ls' 'jw_.*'
eg2: lshost -e -c 'grep '\''jw'\'' /home/jw' 'wsw_1'
"
exit 0
}
#
uniq="false"
expand="false"
cmd=""
pattern=""
static="false"
while getopts ":usec:h" optname
do
case "$optname" in
"u")
uniq="true";
;;
"c")
cmd="$OPTARG"
;;
"e")
expand="true"
;;
"s")
static="true";
;;
"?")
echo "Unkown option $OPTARG"
exit_with_help;
;;
":")
echo "No arugument value for option $OPTARG"
exit_with_help;
;;
"h")
exit_with_help;
;;
"*")
echo "Unsupported option [$optname]"
exit_with_help;
;;
esac
done
pattern=${@:$OPTIND}
if [ -z "$pattern" ];
then
echo "Pattern must be given"
exit_with_help;
fi
if [ -f ~/.lshost/serverlist -a $static == "false" ];
then
rm -f ~/.lshost/serverlist
wget -q 'http://{IP}/serverlist' -P ~/.lshost
fi
servers=`grep -E "$pattern" ~/.lshost/serverlist `
if [ $uniq == "true" ];
then
servers=`echo $servers|awk -F '@' 'BEGIN{RS=" "}{dict[$2]=$1}END{for(i in dict){print dict[i]"@"i}}'`
fi
if [ -z "$cmd" ];
then
for i in $servers;
do
echo $i
done
else
for i in $servers;
do
host=`echo $i |awk -F'@' '{print $2}'`
server=`echo $i |awk -F'@' '{print $1}'`
if [ $expand == "true" ];
then
real_cmd=`echo "${cmd}"|sed 's/${flag}/'${server}'/g'`
else
real_cmd=$cmd
fi
echo -n $i": "
echo -e "\e[0;34;1m[$real_cmd]\e[0m"
ssh -p 22 root@$host "$real_cmd" &>~/.lshost/stdout
if [ $? -ne 0 ];
then
echo -e "\e[0;31;1m[FAIL]\e[0m";
else
echo -e "\e[0;32;1m[OK]\e[0m";
fi
cat ~/.lshost/stdout
echo "=============================================="
done
fi
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.