1. Skrip Export (export_volume.sh)
Gunakan ini di server asal untuk membungkus folder data.
Bash
#!/bin/bash
CONTAINER_NAME="psmysql"
DB_DATA_DIR="$HOME/mysql"
BACKUP_DIR="$HOME/volume_backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# Buat folder backup jika belum ada
[[ ! -d "$BACKUP_DIR" ]] && mkdir -p "$BACKUP_DIR"
echo "📦 Archiving volume dari $DB_DATA_DIR..."
podman unshare tar -czf "$BACKUP_DIR/psmysql_$TIMESTAMP.tar.gz" -C "$DB_DATA_DIR" .
echo "✅ Selesai: $BACKUP_DIR/psmysql_$TIMESTAMP.tar.gz"
2. Skrip Import (import_volume.sh)
Gunakan ini di server tujuan untuk mengekstrak data.
Bash
#!/bin/bash
DB_DATA_DIR="$HOME/mysql"
BACKUP_DIR="$HOME/volume_backup"
# Cari file terbaru
LATEST_BACKUP=$(ls -t $BACKUP_DIR/*.tar.gz 2>/dev/null | head -1)
if [[ -z "$LATEST_BACKUP" ]]; then
echo "❌ File backup tidak ditemukan di $BACKUP_DIR"; exit 1
fi
echo "📦 Import file: $(basename $LATEST_BACKUP)"
read -p "Lanjutkan? (y/n): " CONFIRM
[[ $CONFIRM != "y" ]] && exit 0
# Eksekusi
rm -rf "$DB_DATA_DIR" && mkdir -p "$DB_DATA_DIR"
podman unshare tar -xzvf "$LATEST_BACKUP" -C "$DB_DATA_DIR"
podman unshare chown -R 1001:1001 "$DB_DATA_DIR"
echo "✅ Import selesai. Silakan jalankan startmysql.sh"
No comments:
Post a Comment