반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

/var/log/messages

시스템 종료 쉘 스크립트 본문

SUSE

시스템 종료 쉘 스크립트

로만로만 2024. 1. 8. 08:09
반응형
#!/bin/bash

# 자기 이외의 사용자가 로그인하지 않았는지 who 명령어 출력으로 확인
other_user=$(who | wc -l)

if [ "$other_user" -ge 2 ]; then
    echo "[ERROR] who 명령어 출력이 2줄 이상: 작업 중인 사용자가 있습니다." >&2
    exit 1
fi

# 미리 정지해야 할 프로세스 목록
processes=("/path/to/first/process" "/path/to/second/process" "/path/to/third/process")

# 프로세스 확인
for process in "${processes[@]}"; do
    if ps ax -o command | grep -q "^$process"; then
        echo "[ERROR] 셧다운 중지: 프로세스 $process 실행 중" >&2
        exit 2
    fi
done

# 셧다운 실행
sync
shutdown -h now

 

작업 순서

1. 다른 사용자 확인
현재 로그인한 사용자 수를 who 명령어로 확인합니다.
다른 사용자가 있으면 에러 메시지 출력 후 스크립트 종료.

2. 중요 프로세스 확인
processes 배열에 정의된 프로세스들을 순회하며 실행 여부를 확인합니다.
어느 하나라도 실행 중인 프로세스가 있으면 에러 메시지 출력 후 스크립트 종료.

3, 시스템 셧다운
모든 조건이 충족되면 sync 후 shutdown -h now 명령어로 시스템 종료.

주의사항
프로세스 경로는 실제 시스템 환경에 맞게 조정해야 합니다.
스크립트는 시스템 관리자 권한으로 실행되어야 합니다.
변경 사항을 적용하기 전에는 스크립트 및 시스템 설정의 백업을 권장합니다.

 

번외로,

고객사 일정이 있어서 업로드가 뜸했습니다.

이젠 차질 없이, 업로드가 될 예정입니다.

'SUSE' 카테고리의 다른 글

파티션 테이블 복제(백업)하기  (0) 2024.01.30
XFS 에러  (2) 2024.01.30
ethtool 정리  (2) 2023.12.07
BIOS와 ACPI  (0) 2023.11.29
서버의 전원 ON/OFF 시 XFS 슈퍼블록 동작  (4) 2023.11.29