명령어 옵션을 활용한 팁
1. 가독성을 좋게 출력
column
- mount (ls -al ...) | column -t
2. 메모리 많이 사용하는 프로세스 10개 출력
ps aux | sort -nr -k 4 | head -10 (-n 10 으로 써도 됨)
특정시간이 지나면 명령어를 자동 종료
timeout Ns 명령어
-> timeout 5s top (5초 후 top명령어 종료)
문법을 활용한 팁
1. 현재 위치 하위의 디렉토리별 파일 수 카운트
find . -xdev -type d -exec /bin/echo -n "{} :" \; -exec sh -c "ls {} | wc -l" \;
-xdev : 로컬에 있는 파일 시스템만 검색 (마운트한 디렉토리는 검색을 하지 않겠다.)
-exec : 다음에 나오는 명령어 실행
echo -n "{} :" : 디렉토리 검색한 이름과 콜론 출력
\; : 종료
ls {} | wc -l : ls 의 결과값을 wc로 넘겨서 라인수 출력
2. 어떤 프로세스가 io interrupt를 기다리고 있는지 확인 (실시간으로 모니터링할 때 유용)
- 1초마다 date를 찍으며 state code가 D(uninterruptible sleep (usually IO)) 인 프로세스를 출력
while tru; do date; ps auxf | awk '{if($8== "D") print $0;}'; sleep 1; done
3. 특정한 프로그램(프로세스명)이 전체 메모리의 몇 퍼센트를 사용하는지 확인
ps -eo pmem,comm | grep -i "프로세스이름" | awk '{sum+=$1} END {print sum "% fo MEMORY"}'
-> ps -eo pmem,comm | grep -i "nginx" | awk '{sum+=$1} END {print sum "% fo MEMORY"}'
쉘스크립트 점검 팁
https://www.shellcheck.net/
'클라우드 > BashShell' 카테고리의 다른 글
스토리지 서버 트러블 재발 방지를 위한 처리 쉘 스크립트 (0) | 2023.03.10 |
---|---|
스토리지 서버 트러블 슈팅 쉘 스크립트 (0) | 2023.03.09 |
웹, 데이터베이스 서버 트러블슈팅을 위한 쉘스크립트 (0) | 2023.03.08 |
백업 쉘 스크립트 3 (0) | 2023.03.06 |
백업 쉘 스크립트 2 (0) | 2023.03.06 |