diff --git a/.gitea/workflows/backup-volumes.yml b/.gitea/workflows/backup-volumes.yml index ef43e14..81d01c0 100644 --- a/.gitea/workflows/backup-volumes.yml +++ b/.gitea/workflows/backup-volumes.yml @@ -28,7 +28,8 @@ jobs: set -e BACKUP_DATE='"$BACKUP_DATE"' - BACKUP_DIR="/tmp/backups/$BACKUP_DATE" + BACKUP_BASE_DIR="$HOME/backups" + BACKUP_DIR="$BACKUP_BASE_DIR/$BACKUP_DATE" echo "Creating backup directory: $BACKUP_DIR" mkdir -p "$BACKUP_DIR" @@ -113,7 +114,7 @@ jobs: mkdir -p backups echo "Downloading backups from remote server..." - scp -r ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }}:/tmp/backups/$BACKUP_DATE backups/ + scp -r ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }}:~/backups/$BACKUP_DATE backups/ echo "Downloaded files:" ls -lh backups/$BACKUP_DATE/ @@ -125,9 +126,13 @@ jobs: path: backups/ retention-days: 30 - - name: Cleanup remote backups + - name: Cleanup old remote backups (keep last 7 days) if: always() run: | - BACKUP_DATE=$(date +%Y%m%d_%H%M%S) - ssh ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }} "rm -rf /tmp/backups/$BACKUP_DATE" - echo "Remote backup cleaned up" + ssh ${{ secrets.BACKUP_USER }}@${{ secrets.BACKUP_HOST }} << 'ENDSSH' + # Lösche Backups älter als 7 Tage + find ~/backups -maxdepth 1 -type d -name "????????_??????" -mtime +7 -exec rm -rf {} \; 2>/dev/null || true + echo "Old backups cleaned up (kept last 7 days)" + echo "Current backups:" + ls -lh ~/backups/ 2>/dev/null || echo "No backups found" + ENDSSH