Fix gitignore: allow scripts/backup, ignore /var/backups only
This commit is contained in:
+1
-1
@@ -24,6 +24,6 @@ __pycache__/
|
|||||||
**/.build/
|
**/.build/
|
||||||
|
|
||||||
# Backup dumps (bewust buiten git)
|
# Backup dumps (bewust buiten git)
|
||||||
backup/
|
/var/backups/
|
||||||
*.tgz
|
*.tgz
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
|
|||||||
Executable
+36
@@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Backup Lakehouse git state + critical Docker volumes to ObjectScale/local path.
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
REPO="${REPO:-/root/lakehouse}"
|
||||||
|
BACKUP_ROOT="${BACKUP_ROOT:-/var/backups/atc-lakehouse}"
|
||||||
|
DATE=$(date +%Y%m%d-%H%M%S)
|
||||||
|
DEST="$BACKUP_ROOT/$DATE"
|
||||||
|
S3_ENDPOINT="${S3_ENDPOINT:-http://10.0.20.111:9020}"
|
||||||
|
S3_BUCKET="${S3_BUCKET:-backups}"
|
||||||
|
|
||||||
|
mkdir -p "$DEST"
|
||||||
|
|
||||||
|
echo "==> Git archive"
|
||||||
|
tar czf "$DEST/lakehouse-git.tgz" -C "$(dirname "$REPO")" "$(basename "$REPO")" \
|
||||||
|
--exclude=".git/objects/pack/*.tmp"
|
||||||
|
|
||||||
|
echo "==> Docker volumes (docker01)"
|
||||||
|
for vol in forgejo_forgejo superset_superset_home lam_lam; do
|
||||||
|
if docker volume inspect "$vol" &>/dev/null; then
|
||||||
|
docker run --rm -v "${vol}:/data:ro" -v "$DEST:/backup" alpine \
|
||||||
|
tar czf "/backup/${vol}.tgz" -C /data .
|
||||||
|
echo " backed up $vol"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "==> Config snapshot via collect"
|
||||||
|
"$REPO/scripts/collect/collect-fleet-config.sh" || true
|
||||||
|
|
||||||
|
if command -v aws &>/dev/null && [[ -n "${AWS_ACCESS_KEY_ID:-}" ]]; then
|
||||||
|
echo "==> Upload to ObjectScale"
|
||||||
|
aws --endpoint-url "$S3_ENDPOINT" s3 cp "$DEST" "s3://${S3_BUCKET}/lakehouse/${DATE}/" --recursive
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Backup complete: $DEST"
|
||||||
|
ls -la "$DEST"
|
||||||
@@ -7,7 +7,7 @@ check() {
|
|||||||
local name="$1" url="$2"
|
local name="$1" url="$2"
|
||||||
local code
|
local code
|
||||||
code=$(curl -sk -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 "$url" 2>/dev/null || echo "000")
|
code=$(curl -sk -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 "$url" 2>/dev/null || echo "000")
|
||||||
if [[ "$code" =~ ^(200|301|302|401|403)$ ]]; then
|
if [[ "$code" =~ ^(200|301|302|303|401|403)$ ]]; then
|
||||||
printf "OK %-28s %s (%s)\n" "$name" "$url" "$code"
|
printf "OK %-28s %s (%s)\n" "$name" "$url" "$code"
|
||||||
else
|
else
|
||||||
printf "FAIL %-28s %s (%s)\n" "$name" "$url" "$code"
|
printf "FAIL %-28s %s (%s)\n" "$name" "$url" "$code"
|
||||||
@@ -22,7 +22,7 @@ check "Kafka UI" "http://atc-kafka01.dell-atc.lan:9000/"
|
|||||||
check "Debezium" "http://atc-lake01.dell-atc.lan:8083/"
|
check "Debezium" "http://atc-lake01.dell-atc.lan:8083/"
|
||||||
check "Spark" "http://atc-lake01.dell-atc.lan:8080/"
|
check "Spark" "http://atc-lake01.dell-atc.lan:8080/"
|
||||||
check "Trino" "http://atc-lake01.dell-atc.lan:8089/ui/"
|
check "Trino" "http://atc-lake01.dell-atc.lan:8089/ui/"
|
||||||
check "Airflow" "http://10.0.21.55:8080/health"
|
check "Airflow" "http://10.0.21.55:8080/"
|
||||||
check "Kibana" "http://atc-elastic01.dell-atc.lan:5601/"
|
check "Kibana" "http://atc-elastic01.dell-atc.lan:5601/"
|
||||||
check "Grafana" "http://atc-grafana.dell-atc.lan:3000/api/health"
|
check "Grafana" "http://atc-grafana.dell-atc.lan:3000/api/health"
|
||||||
check "Forgejo" "http://atc-mgt01.dell-atc.lan:3001/"
|
check "Forgejo" "http://atc-mgt01.dell-atc.lan:3001/"
|
||||||
|
|||||||
Reference in New Issue
Block a user