서버관리_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...
서버관리_05 파일명으로 설치된 RPM 패키지명을 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: rpm, exit
키워드: RPM패키지, 설치
사용처: 서버에 있는 파일인지, 패키지에 있는지, 직접 작성한 것인지 알기 위해 RPM패키지를 조사하고 싶을 때
실행 예제
$ ./rpm-compkg.sh /etc/ntp.conf
/etc/ntp.conf -> ntp-4.2.4p8-3.el6.centos.x86_64
$ ./rpm-compkg.sh /etc/my.cnf
/etc/my.cnf는 패키지에 포함되지 않습니다.
스크립트
#!/bin/bash
# 파일을 지정하는 명령행 인수를 확인
if [ ! -f "$1...
서버관리_04 시스템 셧다운하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: who, ps, shutdown
키워드: 로그인 사용자, 셧다운, 프로세스, 확인, 정지
사용처: 셧다운 절차를 스크립트로 작성해서 확인 항목을 자동으로 체크하고 전원을 내리고 싶을 때
실행 예제
# ./shutdown.sh
[ERROR] who 명령어 출력이 2줄 이상: 작업 중인 사용자가 있습니다.
# ./shutdown.sh
Broadcast message from user1@linux
(/dev/pts/1) at 15:32 ...
The system is going down for hal...
서버관리_03 허가된 사용자만 스크립트 실행 가능하게 하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: id, whoami, echo
키워드: 실행 사용자, 권한, root
사용처: 어떤 스크립트를 지정한 사용자 이외는 실행 금지하고 싶을 때
실행 예제
$ whoami
user1
$ ./id-script.sh
[ERROR] batch1 사용자로 실행하세요
스크립트
#!/bin/bash
# 스크립트 실행을 허용할 사용자 정의
script_user="batch1" # --------------------------------- 1
# id 명령어로 현재 사용자를 취득, 정의와 일치하는지 확인
if [ $(id -nu) ...
서버관리_02 서버에 작성된 사용자 계정 목록 얻기(Server Get User List)
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: grep, cut
키워드: 사용자 계정, 구분자, 컬럼
사용처: 텍스트 파일에서 구분자를 지정해서 특정 컬럼을 추출하고 싶을 때
실행예제
$ ./sep-cut.sh
root
bin
daemon
:(생략)
sshd
nginx
user1
스크립트
#!/bin/bash
# 사용자 계정 정보 파일
filename="/etc/passwd"
# 줄 첫글자가 #인 주석 줄은 제외하고 cut 명령어로
# * 첫 번째 값을 표시 [-f 1]
# * 구분자 기호는 : [-d ":"]로 표시
grep -v "^#" "$filenam...
92 post articles, 14 pages.