Docker Compose 환경에서 Ghost 블로그를 정기 백업하는 스크립트

Docker Compose 환경에서 Ghost 블로그를 정기 백업하는 스크립트를 작성하는 방법에 대해서는 다음과 같습니다.

  1. 스크립트 작성
  • Ghost 블로그 컨테이너가 실행 중인 Docker Compose 환경에서, 다음과 같은 내용을 가진 스크립트를 작성합니다.
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=/path/to/backup/directory
COMPOSE_PROJECT_NAME=your_project_name

docker exec ${COMPOSE_PROJECT_NAME}_ghost_1 bash -c "cd /var/lib/ghost && ghost export" > ${BACKUP_DIR}/ghost_${DATE}.json
  • 스크립트에서는 Ghost 블로그 컨테이너 내부에서 ghost export 명령어를 실행하여 백업 파일을 생성합니다. 이때, docker exec 명령어를 사용하여 컨테이너 내부로 진입합니다.
  • BACKUP_DIR 변수에는 백업 파일을 저장할 디렉토리 경로를 지정합니다.
  • COMPOSE_PROJECT_NAME 변수에는 Docker Compose 프로젝트 이름을 지정합니다. 이때, 프로젝트 이름은 docker-compose.yml 파일에 정의된 services 항목의 이름과 일치해야 합니다.
  1. 스크립트 실행 권한 부여
  • 스크립트 파일에 실행 권한을 부여합니다.
chmod +x /path/to/backup/script.sh
  1. 스크립트 실행 스케줄링
  • 스크립트를 주기적으로 실행하기 위해서는 cron 등의 스케줄링 도구를 사용합니다.
  • 예를 들어, 매일 새벽 3시에 백업 스크립트를 실행하도록 스케줄링하려면, 다음과 같이 cron 설정을 추가합니다.
0 3 * * * /path/to/backup/script.sh

위와 같은 방법을 사용하여 스크립트를 작성하고 실행 스케줄링을 설정하면, Ghost 블로그를 정기 백업할 수 있습니다.