AWS에 Docker로 배포한 Django 프로젝트의 PostgreSQL DB 백업 자동화 하기

김의석 ·2024년 4월 8일

Hello! Poko Ver.1

목록 보기
13/20

Hello! Poko 서비스 2주차 데이터베이스 백업을 자동화하기로 하였다.

AWS에 Docker로 배포한 Django 프로젝트의 PostgreSQL DB 백업

crontab

crontab의 장점

  • 주기적인 작업실행
    • 특정 시간, 날짜, 간격등을 지정하여 명령어나 스크립트를 주기적으로 실행해준다!
  • 다양한 시간 지정
    • 분, 시간, 날짜, 월, 요일 등 다양한 시간 단위로 작업을 지정할 수 있다고한다!
  • 다중 작업 관리
    • 분, 시간, 날짜, 월 요일등 다양한 시간 단위로 작업을 지정할 수도 있다!

기본문법

crontab -e
  • 파일 편집
crontab -l
  • 파일 보기
crontab -r
  • 파일 제거
* * * * * command_to_be_executed
- - - - -
| | | | | 
| | | | +---- 요일 (0 - 7) [Both 0 and 7 represent Sunday]
| | | +------ 월 (1 - 12)
| | +-------- 일 (1 - 31)
| +---------- 시 (0 - 23)
+------------ 분 (0 - 59)

내가 사용할 crontab 문법

  • 나는 월요일 오전 7시마다 데이터베이스를 백업할 계획이다.
1 7 * * * /home/ubuntu/github/Hello_Poko/backup.sh

주의사항

  • crontab 명령어를 편집할 때는 사용자의 홈 디렉토리가 기본 경로로 설정되므로, 스크립트의 절대 경로를 지정해야한다!

  • crontab 명령어를 편집 후에는 반드시 저장해야 변경 사항이 적용된다고 한다.

적용

  • crontab -e를 실행하면 편집기 선택 창에 출력되는데 나는 nano를 선택하였다.
  • crontab 문법에 맞춰서 원하는 백업 시간대를 작성하고
  • nano 편집기의 저정 및 나가기를 이용하여 적용을 마무리한다!
  • 과연 다음주 월요일 7시에 자동으로 백업이 되어있을지!
profile
널리 이롭게

0개의 댓글