From f889317698e98cf23dd7cde10c874ecdb70740cb Mon Sep 17 00:00:00 2001 From: Lars Hampe Date: Mon, 27 Oct 2025 22:27:54 +0100 Subject: [PATCH] fix: workflow --- .gitea/workflows/backup-volumes.yml | 65 ++++++++++++++--------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/.gitea/workflows/backup-volumes.yml b/.gitea/workflows/backup-volumes.yml index a87fa61..6e69db0 100644 --- a/.gitea/workflows/backup-volumes.yml +++ b/.gitea/workflows/backup-volumes.yml @@ -25,26 +25,25 @@ jobs: BACKUP_DATE=$(date +%Y%m%d_%H%M%S) echo "BACKUP_DATE=$BACKUP_DATE" >> $GITHUB_ENV - ssh ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }} << ENDSSH + ssh ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }} "BACKUP_DATE='$BACKUP_DATE' bash -s" << 'ENDSSH' set -e - BACKUP_DATE="$BACKUP_DATE" - BACKUP_BASE_DIR="\$HOME/backups" - BACKUP_DIR="\$BACKUP_BASE_DIR/\$BACKUP_DATE" + BACKUP_BASE_DIR="$HOME/backups" + BACKUP_DIR="$BACKUP_BASE_DIR/$BACKUP_DATE" - echo "Creating backup directory: \$BACKUP_DIR" - mkdir -p "\$BACKUP_DIR" + echo "Creating backup directory: $BACKUP_DIR" + mkdir -p "$BACKUP_DIR" echo "Listing available volumes:" docker volume ls # Backup Gitea Data echo "Backing up gitea-data..." - VOLUME_NAME=\$(docker volume ls --format '{{.Name}}' | grep 'gitea-data\$' | head -n1) - if [ -n "\$VOLUME_NAME" ]; then + VOLUME_NAME=$(docker volume ls --format '{{.Name}}' | grep 'gitea-data$' | head -n1) + if [ -n "$VOLUME_NAME" ]; then docker run --rm \ - -v "\$VOLUME_NAME":/source:ro \ - -v "\$BACKUP_DIR":/backup \ + -v "$VOLUME_NAME":/source:ro \ + -v "$BACKUP_DIR":/backup \ alpine tar czf /backup/gitea-data.tar.gz -C /source . echo "✓ gitea-data backed up" else @@ -53,11 +52,11 @@ jobs: # Backup Gitea Database echo "Backing up gitea-database..." - VOLUME_NAME=\$(docker volume ls --format '{{.Name}}' | grep 'gitea-database\$' | head -n1) - if [ -n "\$VOLUME_NAME" ]; then + VOLUME_NAME=$(docker volume ls --format '{{.Name}}' | grep 'gitea-database$' | head -n1) + if [ -n "$VOLUME_NAME" ]; then docker run --rm \ - -v "\$VOLUME_NAME":/source:ro \ - -v "\$BACKUP_DIR":/backup \ + -v "$VOLUME_NAME":/source:ro \ + -v "$BACKUP_DIR":/backup \ alpine tar czf /backup/gitea-database.tar.gz -C /source . echo "✓ gitea-database backed up" else @@ -66,11 +65,11 @@ jobs: # Backup MinIO Data echo "Backing up minio-data..." - VOLUME_NAME=\$(docker volume ls --format '{{.Name}}' | grep 'minio-data\$' | head -n1) - if [ -n "\$VOLUME_NAME" ]; then + VOLUME_NAME=$(docker volume ls --format '{{.Name}}' | grep 'minio-data$' | head -n1) + if [ -n "$VOLUME_NAME" ]; then docker run --rm \ - -v "\$VOLUME_NAME":/source:ro \ - -v "\$BACKUP_DIR":/backup \ + -v "$VOLUME_NAME":/source:ro \ + -v "$BACKUP_DIR":/backup \ alpine tar czf /backup/minio-data.tar.gz -C /source . echo "✓ minio-data backed up" else @@ -79,11 +78,11 @@ jobs: # Backup Gitea Runner Data echo "Backing up gitea-runner-data..." - VOLUME_NAME=\$(docker volume ls --format '{{.Name}}' | grep 'gitea-runner-data\$' | head -n1) - if [ -n "\$VOLUME_NAME" ]; then + VOLUME_NAME=$(docker volume ls --format '{{.Name}}' | grep 'gitea-runner-data$' | head -n1) + if [ -n "$VOLUME_NAME" ]; then docker run --rm \ - -v "\$VOLUME_NAME":/source:ro \ - -v "\$BACKUP_DIR":/backup \ + -v "$VOLUME_NAME":/source:ro \ + -v "$BACKUP_DIR":/backup \ alpine tar czf /backup/gitea-runner-data.tar.gz -C /source . echo "✓ gitea-runner-data backed up" else @@ -91,22 +90,22 @@ jobs: fi # Create manifest - cd "\$BACKUP_DIR" - cat > manifest.txt << 'MANIFEST_EOF' - Backup created: \$(date) - Hostname: \$(hostname) + cd "$BACKUP_DIR" + cat > manifest.txt << EOF +Backup created: $(date) +Hostname: $(hostname) - Files: - \$(ls -lh *.tar.gz 2>/dev/null || echo "No backup files created") +Files: +$(ls -lh *.tar.gz 2>/dev/null || echo "No backup files created") - Checksums (SHA256): - \$(sha256sum *.tar.gz 2>/dev/null || echo "No files to checksum") -MANIFEST_EOF +Checksums (SHA256): +$(sha256sum *.tar.gz 2>/dev/null || echo "No files to checksum") +EOF echo "Backup manifest:" cat manifest.txt - echo "Total backup size: \$(du -sh \$BACKUP_DIR)" + echo "Total backup size: $(du -sh $BACKUP_DIR)" ENDSSH - name: Download backups from remote server @@ -135,4 +134,4 @@ MANIFEST_EOF echo "Old backups cleaned up (kept last 7 days)" echo "Current backups:" ls -lh ~/backups/ 2>/dev/null || echo "No backups found" -CLEANUP_EOF + CLEANUP_EOF