운영관리는 귀찮음의 연속이다.
몇 대 안될때는 일일히 들어가서 조회해도 별 문제가 되지 않는데, 이게 일정 수량을 넘어가면 귀찮기 그지 없다.
이걸 관리해주는 솔루션이 있으면 좋겠지만, 관리자 입장에서 그런데 돈을 쓰는 사업주를 본 적이 거의 없다.
그러니 어쩔 수 있나. 억울하면 내가 만들어야지.
첫번째는 ansible로 트라이 했는데
왠 걸... ansible로 하려면 Failed to create temporary directory 라는 에러가 발생하면서 실행이 안된다.
조회 대상 $homedir/.ansible/tmp 디렉토리를 만들어야 하는데 권한이 없어서 만들 수가 없다.
내가 권한이 없는 계정으로 해서 그럴 수도 있는데 "admin" 계정으로 해도 안되니 어쩔 수 없다.
ssh로 도전.
처음에는 디렉토리를 만들고 다음과 같이 스위치 갯수만큼 스크립트 실행했다.
mkdir -p /rawdata/san/`date +"%Y%m%d"`
LOGDIR=/rawdata/san/`date +"%Y%m%d"`
sshpass -p [password] ssh [id]@[san ip] show interface brief > $LOGDIR/[장비명].out
그런데 이게 무슨 초짜같은 더러운...
패스워드 입력하는게 말이 되나? 보안상?
key 전달해주고 패스워드 없이 가자
B서버에 공개키 전달(개인키는 id_rsa, 공개키는 id_rsa.pub)
# ssh-copy-id -i ~/.ssh/id_rsa.pub B_username@B_ip
두둥~ 대상 서버에 임시 폴더 생성 권한 없음....admin이잖아...
시부랄 것....
패스워드 hard coding 극혐인데... 방법은 찬찬히 찾아보자
어쩔 수 없이 위 스크립트대로 실행
자~ 결과가 /rawdata/san/`date +"%Y%m%d"` 에 떨어졌다. 파일명대로 슝슝
그런데 이걸 또 언제 일일히 열어봐
그래서 스크립트 시전
가랏~ 쪽팔리게 이중 for 문!
for LOGDIRS in `find /rawdata/san -type d | grep 20`
## grep 20 한 이유는 find 하면 해당 위치 디렉토리도 잡는다 그래서 날자있는 애들만 대상으로 하려고
do
echo "" > $LOGDIRS/result.out
for LOGFILES in `find $LOGDIRS -type f`
do
echo $LOGFILES >> $LOGDIRS/result.out
cat $LOGFILES | grep fc1 | grep up | wc -l >> $LOGDIRS/result.txt
done
done
날짜 디렉토리 있으면 있는 것마다 다 조회해서 결과값 생성
당연히 대상 추가되면 알아서 계산되니 좋다.
그래도 쪽팔린데 더 파기 귀찮다...아...귀차니즘...
'Linux' 카테고리의 다른 글
Unix 계열 OS별 명령어 비교 정리 사이트 (0) | 2023.01.02 |
---|---|
nmap 사용법 (0) | 2023.01.02 |
Linux Baremetal OS 설치 매뉴얼 (0) | 2022.11.02 |
ssh scp 패스워드 없이 사용하기 (0) | 2022.10.13 |
ssh 이용한 port forwarding (포트 포워딩) (0) | 2022.10.13 |
댓글