Podman backup/Restore¶
Container Backup ¶
birdhead@birdnotedev:~/usb_work/podman/backup-postgresql-server$ cat backup.sh
#!/bin/bash
# --- 1. postgres_image.tar.gz ---
echo "Backing up postgresql-server_postgres:latest..."
podman save localhost/postgresql-server_postgres:latest | pv | pigz > postgres_image.tar.gz
# --- 2. base_server_image.tar.gz ---
echo "Backing up postgresql-server_base-server:latest..."
podman save localhost/postgresql-server_base-server:latest | pv | pigz > base_server_image.tar.gz
# --- 3. pgadmin_image.tar.gz ---
echo "Backing up dpage/pgadmin4:latest..."
podman save docker.io/dpage/pgadmin4:latest | pv | pigz > pgadmin_image.tar.gz
# --- 4. base-server의 베이스 이미지 (Containerfile의 FROM) ---
echo "Backing up base-server:latest..."
podman save localhost/base-server:latest | pv | pigz > base-server-base_image.tar.gz
# --- 5. 데이터 및 설정 백업 ---
echo "Backing up data/config directory (postgresql-server/)..."
# -C /work/podman : /work/podman 디렉터리로 이동(Change)한 뒤
# postgresql-server/ : 해당 디렉터리를 압축합니다.
# 출력(>)은 스크립트 실행 위치(현재 폴더)에 저장됩니다.
sudo tar -cvf - -C /work/podman postgresql-server/ | pv | pigz > postgresql-server-data-backup.tar.gz
echo "All backups complete."
Container Restore¶
birdhead@birdnotedev:~/usb_work/podman/backup-postgresql-server$ cat restore.sh
#!/bin/bash
# 1. postgres_image.tar.gz 복원
pigz -d -c postgres_image.tar.gz | podman load
# 2. base_server_image.tar.gz 복원
pigz -d -c base_server_image.tar.gz | podman load
# 3. pgadmin_image.tar.gz 복원
pigz -d -c pgadmin_image.tar.gz | podman load
# 4. base-server-base_image.tar.gz 복원
pigz -d -c base-server-base_image.tar.gz | podman load
# 5. 확인 (4개 이미지가 모두 로드되었는지 확인)
podman images
Updated by 상혁 손 about 2 months ago · 2 revisions