공개/기록하기

postgresql db 백업 쉘 작성, 크론 탭에 등록하기

잔망짱구 2024. 3. 28. 14:40
728x90
반응형

자꾸 까먹어서 적어두는 postgresql db 백업하는 쉘을 크론탭에 등록하는 방법 

  1. postgres 계정으로 접속한다.

  2. 원하는 경로에 폴더를 만든다.
    1. mkdir /var/lib/postgresql/backups
  3. 쉘 작성할 경로로 이동한다.
    1. cd /var/lib/postgresql
    2. vi backup.sh
#!/bin/bash

#백업 경로와 현재 시간, 백업할 파일 이름
BACKUP_DIR="/var/lib/postgresql/backups"
CURRENT_DATETIME=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/backup_$CURRENT_DATETIME.sql"

#PostgreSQL 데이터베이스 백업 실행
pg_dump -d [데이터베이스이름] > "$BACKUP_FILE"

#30일 이상된 백업 파일 삭제
find "$BACKUP_DIR" -name "backup_*" -type f -mtime +30 -exec rm {} \\;

 

잘 돌아가는 지 테스트해보고 sh backup.sh 크론탭에 등록한다.

crontab -e

0 0 * * * /bin/bash /var/bin/postgres/backup.sh

저는 매일 자정에 돌게 만들었습니다. 

.

.

.

크론 탭 사용법 참고 블로그

 

728x90
반응형