Docker Compose 스택 백업을 위한 스크립트

 

복잡하지않은 백업툴을 원하시는분한테는 좋아보이네요

 


 

 

Docker Compose 스택에서 예약된 백업을 생성하고 (백업된) 가이드 업데이트를 수행하기 위한 Bash 스크립트입니다.

 

왜?

  • 디자인이 단순함
  • compose.yaml내 파일 내부에서 변경이 필요하지 않습니다.
  • 바인드 마운트 와 명명된 볼륨 모두에서 작동합니다 .
  • 🕑예약된 백업을 생성하는 데 사용할 수 있습니다.
  • 가이드 컨테이너 업데이트와 함께 임시 백업도 생성할 수 있습니다.
  • 기존 클라우드 백업 도구(예: rclone)를 대체하려는 것이 아닙니다.

핵심 기능

 backupdate 의 핵심 초점 은 Docker Compose 스택의 보관된 백업을 만드는 것입니다.

작동 원리

🛑Docker Compose 스택에서 실행 중인 모든 컨테이너를 중지합니다.

  1. 📁 스택 작업 디렉토리의 .tar.gz 백업을 만듭니다 .
  2. 📁 연관된 명명된 볼륨의 .tar.gz 백업을 만듭니다 .
  3. ⬇️새로운 컨테이너 이미지를 가져오도록 요청합니다( -u)
  4. 🔁Docker Compose 스택 컨테이너를 다시 만듭니다.
  5. 🗑️사용되지 않는 컨테이너 이미지를 정리하도록 요청하세요 ( -u)

 데이터 볼륨 백업, 복원 또는 마이그레이션 에 대한 자세한 내용은 공식 Docker 문서를 참조하세요 .

 

설치하다

경고

이 스크립트는 어떠한 보증 없이 있는 그대로 제공됩니다. 본인의 책임 하에 사용하세요.

중요한

설치 명령과 스크립트는 루트 권한으로 실행해야 합니다. 

 

bash -c 'curl -fsSL -o /bin/backupdate https://raw.githubusercontent.com/hazzuk/compose-backupdate/refs/heads/release/backupdate.sh && chmod +x /bin/backupdate'

 

docker/
├─ nginx/
│  └─ compose.yaml
├─ wordpress/
│  └─ compose.yaml
└─ nextcloud/
   └─ compose.yaml

 

명령줄

  • -b "", --backup-dir "": 백업 디렉토리
  • -d ""--docker-dir "": Docker compose 디렉토리 부모
  • -s ""--stack-name "": Docker compose 스택 이름
  • -u--update: 스택 컨테이너 업데이트 (선택 사항)
  • -v--version: 스크립트 버전 업데이트를 확인합니다 (선택 사항)

# backup directory
export BACKUP_DIR="/path/to/your/backup"
# docker compose directory parent
export DOCKER_DIR="/path/to/your/docker"
# docker compose stack name
export STACK_NAME="nginx"

 

예시

backupdate -s "nginx" -d "/path/to/your/docker" -b "/path/to/your/backup"

 

backupdate --stack-name "nginx" \
    --docker-dir "/very/long/path/to/docker" \
    --backup-dir "/very/long/path/to/the/backup"