우분투 서버에서 uptime 체크 후 일정일 이상이면 자동 재부팅 스크립트

관리하는 서버가 많아지니 서버의 uptime 체크 후 재부팅하는 것도 일이다. 그래서 각 서버에서 cron 으로 uptime 체크 후 일정일 이상 경과했으면 보안패치 등을 적용하고 자동 재부팅하는 쉘스크립트를 작성했다. 실제 서버에 적용 전이라 오류를 확인해보진 않았다. 적용 후 오류가 발견된다면 코드를 수정할 예정이다.

#!/bin/bash
read -d. seconds < /proc/uptime

# 10일 이상 경과
DATES=10

UPTIME=24*60*60*$DATES

if (( $seconds > $UPTIME )); then
    sudo apt-get -y update
    #sudo apt-get -y upgrade
    DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical sudo apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" dist-upgrade
    sudo apt-get -y autoremove
    sudo reboot
fi

코드에서는 10일 이상 경과했을 경우에 보안패치 등을 적용하고 자동 재부팅한다.

  • 2018-09-18 16:00 업그레이드 때 설정파일 유지 등의 화면 표시가 되지 않고 자동 업그레이드 되도록 코드 수정

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.