서버관리_12 웹 접근 감시하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: curl, date, echo
키워드: 웹 감시, 서비스 감시, HTTP 스테이터스 코드
사용처: 운용하는 웹 서비스에서 접근 확인을 정기적으로 실행해서 이상 발생 시 경고 통지를 하고 싶을 때
실행 예제
$ ./web-curlcheck.sh
[2023/09/07 12:05:01] HTTP 스테이터스 이상:HTTP status[503]
ALERT...
스크립트
#!/bin/sh
# 감시 대상 URL 지정
url="http://www.example.org/webapps/check" # ------------------...
서버관리_11 서버 ping 감시하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: ping, sleep, date
키워드: 서버 감시, 네트워크, 종료 스테이터스
사용처: 네트워크 상태가 이상하지 않은지 또는 서버가 정지했는지 ping 명령어로 감시하고 싶을 때
실행 예제
$ ./ping_alert.sh 192.168.2.1
[2021/05/12 13:43:12] Ping OK: 192.168.2.1
스크립트
#!/bin/sh
# ping 실행 결과 스테이터스, 0이면 성공이므로 1로 초기화
result=1 # ------------------------------------------------...
서버관리_10 프로세스를 감시해서 다운 시 자동으로 재실행하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: service, ps, wc, grep, date, echo
키워드: 프로세스, 감시, 재실행, 자동화
사용처: 웹 서버 운용 시 프로세스가 다운하면 재실행해서 자동으로 장애 대응을 하고 싶을 때
실행 예제
$ ./process-restart.sh
[2023/05/30 10:30:15] /usr/sbin/httpd 찾지 못했습니다.
[2023/05/30 10:30:15] 프로세스 /usr/sbin/httpd 실행
Starting httpd: [ OK ]
스크립트
#!/bin/sh
# 감시할 프로세스 명령어
commna...
서버관리_09 특정 프로세스 실행 개수가 제한값을 넘었는지 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: ps, grep, wc
키워드: 프로세스, 다중 실행, 허용값
사용처: 정 기적으로 실행되는 명령어의 다중 실행을 감시해서 허용값을 넘으면 경고하고 싶을 때
실행 예제
$ ./process-numcheck.sh
[ERROR] 프로세스 /home/user1/bin/calc 다중 실행 (3)
start alert.sh ...
스크립트
#!/bin/sh
# 감시할 프로세스 명령어와 프로세스 허용수
commname="/home/user1/bin/calc" # -------------------------------------...
서버관리_08 특정 프로세스가 정지했는지 감시하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: ps, grep, wc
키워드: 프로세스, 감시, 정지
사용처: 서비스 제공 시 존재해야 할 프로세스가 정지하지 않았는지 감시하고 싶을 때 사용합니다.
실행 예제
$ ./process-isalive.sh
[ERROR] 프로세스 /usr/llibexec/mysqlid 찾지 못했습니다.
start alert.sh ...
스크립트
#!/bin/sh
# 감시할 프로세스 명령어
commname="usr/libexec/mysqld" # -------------------------------------------------- 1...
서버관리_07 서버 구축 패키지 목록을 셸 스크립트 형태로 관리하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: yum
키워드: RPM 패키지, 설치, 구축
사용처: 서버 구축 작업에서 패키지 설치를 자동화하고 싶을 때 사용합니다.
실행 예제
# ./yum-install.sh
Loaded plugins: fastestmirror, security
Loding mirror speeds from cached hostfile
(생략)
yum 명령어로 httpd, zsh, xy, git 설치
스크립트
#!/bin/sh
# 설치할 패키지명 정의
pkglist="httpd zsh xz git" # ----- 1...
서버관리_06 RPM 패키지명이 적힌 목록 파일에서 각각의 패키지가 설치, 갱신된 날짜를 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: cat, rpm
키워드: RPM패키지, 갱신 시각, 설치, 업데이트
사용처: 여러 서버에 패키지 설치 및 업데이트를 진행하는데 서버마다 작업에 실수가 없는지 확인하고 싶을 때
실행 예제
# 설치 후 확인해야 할 패키지 목록을 작성합니다.
$ cat pkg.lst
httpd
zsh
xz
git
$ ./rpm-lastdate.sh pkg.lst
2021/04/19 11:14:11 : httpd
2021/04/20 13:43:23 : zsh
2020/06/03 15:21:09 : xz
2021/03/24 09:33:12 : gi...
222 post articles, 32 pages.