Server/Linux

AWS EC2 인스턴스에서 PostgreSQL DB 백업하는 crontab 만들기

Juzdalua 2022. 2. 23. 15:20

sql을 백업하려했지만, 용량이 엄청나다고 한다.

그래서 tar 압축버전을 사용하는데, PostgreSQL은 tar파일로 백업, 복구가 가능하다.

 

https://ko.linux-console.net/?p=328

 

DB를 백업하는 sh를 작성하고, 해당 sh를 매월 사용자가 적은 시간대에 자동 실행하는 크론탭을 만들었다.

 

 

인스턴스에서 ls로 목록을 살펴보면 자동실행되는 쉘스크립트를 작성해뒀다.

 

아래 스크립트는 해당 날짜 폴더를 만들어 PostgreSQL DB를 백업하는 명령어다.

#!/bin/sh

BACKUP_DATE=$(date +%Y%m%d)
mkdir /home/ubuntu/db_backup/$BACKUP_DATE
PGPASSWORD="PASSWD 입력" pg_dump -U admin -h localhost spoweek > /home/ubuntu/db_backup/$BACKUP_DATE/db_dump_$BACKUP_DATE.tar

 

해당 쉘스크립트를 매달 반복 사용하는 크론탭을 만들어보자

crontab -e

 

실행중인 크론탭을 확인해보자.

crontab -l

매월 1일 새벽 3시에 DB를 백업하도록 구현했다.