매일 새벽 4시에 리부팅 요청이 있을 경우 자동으로 리눅스 서버 리부팅 하기
아래 코드로 스크립트 파일을 만든다
#!/bin/bash
# 자동 리부팅 체크 스크립트
# crontab에 등록하여 매일 새벽 4시에 실행
# 리부팅이 필요한지 확인하는 함수
check_reboot_required() {
# /var/run/reboot-required 파일 확인
if [ -f /var/run/reboot-required ]; then
return 0
fi
# MOTD 메시지에서 재시작 필요 문구 확인
if grep -q "System restart required" /run/motd.dynamic 2>/dev/null || \
grep -q "System restart required" /etc/motd 2>/dev/null; then
return 0
fi
return 1 # 리부팅 불필요
}
# 현재 시스템 부하 확인
check_system_load() {
load=$(cat /proc/loadavg | awk '{print $1}')
# 시스템 부하가 2 미만일 때만 리부팅 진행
if (( $(echo "$load < 2" | bc -l) )); then
return 0
else
return 1
fi
}
# 메인 로직
main() {
# 로그 파일 설정
LOG_FILE="/var/log/auto_reboot.log"
# 로그 시작
echo "$(date): 자동 리부팅 체크 시작" >> "$LOG_FILE"
# 리부팅이 필요한지 확인
if check_reboot_required; then
echo "$(date): 리부팅이 필요한 상태 감지됨" >> "$LOG_FILE"
# 시스템 부하 확인
if check_system_load; then
echo "$(date): 시스템 부하 정상, 리부팅 시작" >> "$LOG_FILE"
# 5분 후 리부팅 예약
/sbin/shutdown -r +5 "시스템 자동 리부팅이 5분 후 실행됩니다."
else
echo "$(date): 시스템 부하가 높아 리부팅 연기됨" >> "$LOG_FILE"
fi
else
echo "$(date): 리부팅이 필요하지 않음" >> "$LOG_FILE"
fi
}
# 스크립트 실행
main
- 스크립트 생성:
- 실행 권한 부여:
- crontab에 등록:
다음 줄 추가:
'인공지능 연구실' 카테고리의 다른 글
당신의 운명을 과학적으로 해석하는 '사비앙 점성술' (0) | 2025.02.18 |
---|---|
일상의 지혜를 전하는 데일리 타로 카드 리딩 서비스 (0) | 2025.01.24 |
# AI가 찾아낸 로또 당첨번호의 숨겨진 패턴 (0) | 2025.01.12 |
무료 동영상 편집툴 - 사이버링크 파워 디렉터 (3) | 2025.01.08 |
【무료】AI 로또 번호 예측 서비스 | 빅데이터 기반 분석 (0) | 2025.01.06 |