diff --git a/.gitea/workflows/backup-volumes.yml b/.gitea/workflows/backup-volumes.yml index 568c699..b73274d 100644 --- a/.gitea/workflows/backup-volumes.yml +++ b/.gitea/workflows/backup-volumes.yml @@ -22,11 +22,13 @@ jobs: # exclude_volumes: "temp-volume,cache-volume" fail-fast: false # Andere Server weiterlaufen lassen wenn einer fehlschlägt + name: Backup ${ matrix.server.name } + steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Set server context + - name: Set server context for ${{ matrix.server.name }} run: | echo "SERVER_NAME=${{ matrix.server.name }}" >> $GITHUB_ENV echo "SERVER_HOST=${{ matrix.server.host }}" >> $GITHUB_ENV @@ -36,14 +38,14 @@ jobs: echo "Host: ${{ matrix.server.host }}" echo "User: ${{ matrix.server.user }}" - - name: Setup SSH + - name: Setup SSH for ${ matrix.server.name } run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H ${{ matrix.server.host }} >> ~/.ssh/known_hosts - - name: Upload backup script to server + - name: Upload backup script to ${ matrix.server.name } run: | echo "Uploading backup script to ${{ matrix.server.name }}..." scp scripts/backup-servers/backup-docker-volumes.sh \ @@ -52,7 +54,7 @@ jobs: ssh ${{ matrix.server.user }}@${{ matrix.server.host }} \ "chmod +x /tmp/backup-docker-volumes.sh" - - name: Create backup on remote server + - name: Create backup on ${ matrix.server.name } run: | BACKUP_DATE=$(date +%Y%m%d_%H%M%S) echo "BACKUP_DATE=$BACKUP_DATE" >> $GITHUB_ENV @@ -61,7 +63,7 @@ jobs: ssh ${{ matrix.server.user }}@${{ matrix.server.host }} \ "BACKUP_DATE='$BACKUP_DATE' SERVER_NAME='${{ matrix.server.name }}' EXCLUDE_VOLUMES='${{ matrix.server.exclude_volumes }}' /tmp/backup-docker-volumes.sh" - - name: Download backups from remote server + - name: Download backups from ${ matrix.server.name } run: | mkdir -p backups/${{ matrix.server.name }} @@ -72,14 +74,14 @@ jobs: echo "Downloaded files:" ls -lh backups/${{ matrix.server.name }}/$BACKUP_DATE/ - - name: Upload backup artifacts + - name: Upload backup artifacts for ${ matrix.server.name } uses: actions/upload-artifact@v3 with: name: backup-${{ matrix.server.name }}-${{ env.BACKUP_DATE }} path: backups/${{ matrix.server.name }}/${{ env.BACKUP_DATE }} retention-days: 30 - - name: Cleanup old backups on remote server + - name: Cleanup old backups on ${ matrix.server.name } (keep last 7 days) if: always() run: | echo "Cleaning up old backups on ${{ matrix.server.name }}..." @@ -91,7 +93,7 @@ jobs: ls -lh ~/backups/ 2>/dev/null || echo "No backups found" CLEANUP_EOF - - name: Cleanup temporary files + - name: Cleanup temporary files on ${ matrix.server.name } if: always() run: | echo "Cleaning up temporary files on ${{ matrix.server.name }}..."