[Linux] 작업 예약 스케줄러(Cron)을 이용한 게임 서버 재부팅

2025. 11. 30. 23:51·Knowledge/운영체제
노션 정리를 하다가 22년도에 한창 '발헤임'이라는 게임이 유행했었을때 
GCP를 활용하여 24시간 발헤임 서버를 구축하였었는데 해당 서버를 운영하며 있었던 이슈에 대해 정리해뒀던 기록을 발견하여 추억 회상 겸 올리게 되었습니다 ㅋㅋㅋ

Ubuntu 20.04 LTS 기준으로 작성된 글입니다.

 

얘들하고 발헤임을 하며 접속 시간이 모두 다 다르다보니 24시간 항상 열려 있는 서버가 있으면 좋을꺼 같다고 생각했다.

처음에 대학생용 학습 계정이 있는 Azure로 서버를 구축을 할까 생각했다가 크레딧을 10만원밖에 주지 않아 나중에 진짜 돈이 나갈꺼 같았기에 .. 구성했던 VM를 삭제하고 GCP로 다시 세팅했는데

서버를 이틀정도밖에 유지 하지 않았는데도 생각보다 서버에 잔렉이 어우...

 

그래서 매일 주기적으로 새벽 4시에 VM 서버 재부팅을 진행하기로 마음먹었다

우선 재부팅을 자동화하기에 앞서 서버 시간대를 우리나라 시간대로 연동시켜 두어야 한다.

date 명령어를 통해 시간대를 확인한 후 현재 시간대와 맞지 않을 경우 zoneinfo에 있는 Seoul 시간대를 localtime 파일명으로 링킹 해주면 된다.

$ date

$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

그 후 특정한 시간 마다 작업이나 스케줄링 역할을 해주는 명령어인 cron 을 활용하여

새벽 4시마다 재부팅을 해주게 만들면 된다.

  • 아 갑자기 생각난건데 6시간 주기로 자동백업도 진행해둬야겠다. 맵 파일 용량은 그다지 크지는 않지만 1주일 전 파일 또는 2주일 전 파일들은 자동 제거하게 되면 용량 걱정은 크게 안해도 될 것 같다.
# crontab 편집하기

$ crontab -e

처음 열게되면 어떤 편집 창으로 파일을 열지 물어보는데 편한거 설정하면 된다.

개인적으로 vi로 많이 파일들을 작업했기에 vi로 열었다…

그 후 편집창에 원하는 세팅과 명령어를 적어주고 저장하면 끝…!

(완전히 설정 하기 전에 5분 후 재부팅으로 등록 해둔 후 테스팅하고 반영하면 더욱 좋음!!)

crontab 주기는 별 위치에 따라 원하는 주기를 설정할 수 있는데 우리는 4시니까 밑과 같이 작성하면 된다

*      *      *      *      *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)
00 04 * * * sudo /sbin/reboot

꼭 저장하는 것 잊지말기!!

( 키보드에서 원하는 위치에 타자 포인트를 두고 i를 누르면 작성 모드.

ESC를 누르면 다시 명령 모드로 변경된다. 명령모드 상태에서 : 를 누르고

wq를 써주고 엔터. 세세한 설명은 vi 편집기에 대해 검색해보면 된다)

파일을 저장까지 했다면 해당 명령이 적용되도록 cron 서비스를 재부팅

$ sudo service cron restart

이렇게 하면 새벽 4시마다 자동으로 재부팅하며 나의 노고가 줄어든다 후후

이제 좀 잔렉이 줄어들길 바라며…

( 서버는 잘 구축해뒀지만 두달만 하고 안했다는 전설이... )

 

더보기

cron에 대한 추가적인 상세 내용은 여기서 참조하면 좋을 것 같다..!


https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-%EC%9E%91%EC%97%85-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC-%EB%AA%85%EB%A0%B9%EC%96%B4-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-at-crontab

'Knowledge > 운영체제' 카테고리의 다른 글

[CS] System Call: 프로그래밍 언어로 어떻게 하드웨어를 조작할 수 있을까?  (0) 2025.11.29
'Knowledge/운영체제' 카테고리의 다른 글
  • [CS] System Call: 프로그래밍 언어로 어떻게 하드웨어를 조작할 수 있을까?
ryuwon
ryuwon
여러 개발 정보 끄적이고 있습니닷..
  • ryuwon
    이름 없는 블로그
    ryuwon
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (34)
      • Series (0)
      • Programming (1)
        • Java (1)
        • C (0)
        • Swift (0)
      • Framework & Library (8)
        • Spring (6)
        • Spring Boot (2)
      • Data & ORM (0)
        • RDBMS (0)
        • NoSQL (0)
        • ORM (0)
      • Infra & DevOps (1)
        • Cloud (0)
        • DevOps (1)
        • Infra (0)
      • Knowledge (4)
        • 자료구조 (1)
        • 알고리즘 (3)
        • 운영체제 (2)
        • 네트워크 (1)
        • 아키텍쳐 및 디자인 패턴 (0)
        • 개발지식 (3)
      • Testing (0)
      • Security & System (0)
      • Project (5)
      • Writing (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    찐빵
    네트워크
    K3S
    OCI
    Spring Profile
    프로젝트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.5
ryuwon
[Linux] 작업 예약 스케줄러(Cron)을 이용한 게임 서버 재부팅
상단으로

티스토리툴바