Docker Compose 스택 백업을 위한 스크립트
복잡하지않은 백업툴을 원하시는분한테는 좋아보이네요
Docker Compose 스택에서 예약된 백업을 생성하고 (백업된) 가이드 업데이트를 수행하기 위한 Bash 스크립트입니다.
왜?
- 디자인이 단순함
- compose.yaml내 파일 내부에서 변경이 필요하지 않습니다.
- 바인드 마운트 와 명명된 볼륨 모두에서 작동합니다 .
- 🕑예약된 백업을 생성하는 데 사용할 수 있습니다.
- 가이드 컨테이너 업데이트와 함께 임시 백업도 생성할 수 있습니다.
- 기존 클라우드 백업 도구(예: rclone)를 대체하려는 것이 아닙니다.
핵심 기능
backupdate 의 핵심 초점 은 Docker Compose 스택의 보관된 백업을 만드는 것입니다.
작동 원리
🛑Docker Compose 스택에서 실행 중인 모든 컨테이너를 중지합니다.
- 📁 스택 작업 디렉토리의 .tar.gz 백업을 만듭니다 .
- 📁 연관된 명명된 볼륨의 .tar.gz 백업을 만듭니다 .
- ⬇️새로운 컨테이너 이미지를 가져오도록 요청합니다(
-u
) - 🔁Docker Compose 스택 컨테이너를 다시 만듭니다.
- 🗑️사용되지 않는 컨테이너 이미지를 정리하도록 요청하세요 (
-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"