it is what it is
This commit is contained in:
parent
c2b898ad76
commit
a171bd2fec
1 changed files with 42 additions and 0 deletions
42
mist_infra/scripts/backup_k8s_storage_to_s3.sh
Normal file
42
mist_infra/scripts/backup_k8s_storage_to_s3.sh
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Weekly full backup of all Kubernetes PV data
|
||||
# ----------------------------------------------------------
|
||||
|
||||
SOURCE_DIR="/k8s_storage"
|
||||
TMP_DIR="/tmp/mist-backups"
|
||||
BUCKET="mist-backups"
|
||||
|
||||
DATE="$(date -u +%Y-%m-%d)"
|
||||
TIMESTAMP="$(date -u +%Y-%m-%d_%H-%M-%S)"
|
||||
HOST="$(hostname)"
|
||||
|
||||
ARCHIVE_NAME="k8s_storage_${HOST}_${TIMESTAMP}.tar.gz"
|
||||
ARCHIVE_PATH="${TMP_DIR}/${ARCHIVE_NAME}"
|
||||
|
||||
echo "=== Mist weekly PV backup ==="
|
||||
echo "Source: ${SOURCE_DIR}"
|
||||
echo "Archive: ${ARCHIVE_PATH}"
|
||||
echo "Bucket: s3://${BUCKET}/${DATE}/"
|
||||
|
||||
mkdir -p "${TMP_DIR}"
|
||||
|
||||
echo "→ Creating tarball"
|
||||
tar \
|
||||
--numeric-owner \
|
||||
--xattrs \
|
||||
--acls \
|
||||
-czf "${ARCHIVE_PATH}" \
|
||||
-C "${SOURCE_DIR}" .
|
||||
|
||||
echo "→ Uploading to S3"
|
||||
aws s3 cp \
|
||||
"${ARCHIVE_PATH}" \
|
||||
"s3://${BUCKET}/${DATE}/${ARCHIVE_NAME}"
|
||||
|
||||
echo "→ Cleaning up local temp"
|
||||
rm -f "${ARCHIVE_PATH}"
|
||||
|
||||
echo "✅ Backup complete"
|
||||
Loading…
Add table
Reference in a new issue