changes for the backup process
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
cat << 'EOF' > backup.sh
|
sudo tee backup.sh > /dev/null << 'EOF'
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
@@ -101,22 +101,28 @@ docker_backup() {
|
|||||||
output_dir="/tmp/invoice_archive_${timestamp}"
|
output_dir="/tmp/invoice_archive_${timestamp}"
|
||||||
remote_base="${output_dir}/${BASE_NAME}"
|
remote_base="${output_dir}/${BASE_NAME}"
|
||||||
|
|
||||||
# Führt das Skript im Container mit dem exakten Pfad aus
|
# 1. Ordner im Container erstellen
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T app mkdir -p "$output_dir" && \
|
docker compose -f "$COMPOSE_FILE" exec -T app mkdir -p "$output_dir"
|
||||||
|
|
||||||
|
# 2. Python-Backup ausführen
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T app python3 /app/Web/modules/inventarsystem/backup_invoices.py \
|
docker compose -f "$COMPOSE_FILE" exec -T app python3 /app/Web/modules/inventarsystem/backup_invoices.py \
|
||||||
--archive-dir "$output_dir" \
|
--archive-dir "$output_dir" \
|
||||||
--base-name "$BASE_NAME" && \
|
--base-name "$BASE_NAME"
|
||||||
mkdir -p "$INVOICE_ARCHIVE_DIR" && \
|
|
||||||
docker cp "$app_container":"${remote_base}.jsonl" "$INVOICE_ARCHIVE_DIR/" && \
|
# 3. Prüfen, ob eine Backup-Datei erzeugt wurde, bevor wir kopieren
|
||||||
docker cp "$app_container":"${remote_base}.csv" "$INVOICE_ARCHIVE_DIR/" && \
|
if docker compose -f "$COMPOSE_FILE" exec -T app test -f "${remote_base}.jsonl"; then
|
||||||
|
mkdir -p "$INVOICE_ARCHIVE_DIR"
|
||||||
|
docker cp "$app_container":"${remote_base}.jsonl" "$INVOICE_ARCHIVE_DIR/"
|
||||||
|
docker cp "$app_container":"${remote_base}.csv" "$INVOICE_ARCHIVE_DIR/"
|
||||||
docker cp "$app_container":"${remote_base}.meta.json" "$INVOICE_ARCHIVE_DIR/"
|
docker cp "$app_container":"${remote_base}.meta.json" "$INVOICE_ARCHIVE_DIR/"
|
||||||
|
log_message="Backup files successfully copied to host."
|
||||||
|
else
|
||||||
|
echo "No backup files to copy (database empty). Skipping file transfer."
|
||||||
|
fi
|
||||||
|
|
||||||
local backup_status=$?
|
# Aufräumen im Container
|
||||||
|
|
||||||
# Aufräumen (läuft unabhängig vom Erfolg des Backups)
|
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T app rm -rf "$output_dir"
|
docker compose -f "$COMPOSE_FILE" exec -T app rm -rf "$output_dir"
|
||||||
|
return 0
|
||||||
return $backup_status
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
|||||||
Reference in New Issue
Block a user