json(JavaScript Object Notation) : 구조화된 데이터를 간결하게 표현가능한 방식
jq : json query 툴, 커맨드 라인 유틸리티
tr: translate or delete 하는 명령어, -d(--delete) 는 삭제를 의미
For 반복문 사용 방법
for 변수 in 범위
do
# 명령
done
#!/bin/bash
SERVER=$(kubectl get nodes -o json | jq '.items[] | .status .addresses[] | select(.type=="ExternalIP") | .address' | tr -d ' " ')
for server in $SERVER
do
scp -i ~/aws_rsa file.txt ec2-user@$server:/tmp/
#cloudshell 상에 있는 각자의 비밀키 경로
done
--------------------------------------------------------------------------------------------------------
kubectl get nodes -o json / json 형태로 노드 정보 표시

jq '.items[] | .status .addresses[] | select(.type=="ExternalIP") | .address' | tr -d ' " ')
json 형식 중 ExternalIP 의 addresses 추출 tr -d 로 쌍따움표 " 제거
scp -i ~/aws_rsa file.txt ec2-user@$server:/tmp/
- SCP 는 secure copy 복사 명령어, jq 에서 나온 ip 서버의 tmp 경로에 file.txt 복사
chmod +x deploy.sh 권한 추가
'리눅스' 카테고리의 다른 글
| /etc/passwd/ (0) | 2024.09.09 |
|---|---|
| 사용자 관리 스크립트 / IFS (0) | 2024.09.09 |
| 로그 파일 분석 스크립트 / awk, uniq, sort (0) | 2024.09.06 |
| 데이터 백업 스크립트 / if, fi (3) | 2024.09.06 |
| 서버 상태 체크 스크립트 / SAR, uname (2) | 2024.09.06 |