19 lines
481 B
Bash
Executable File
19 lines
481 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail # Fail on error, undefined variables, and pipe errors
|
|
|
|
# Create backup filename
|
|
FILENAME="$(date +"%Y%m%d_%H%M").zip"
|
|
BACKUP_DIR="/BACKUP/$UUID"
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
tar -czvf "$BACKUP_DIR/$FILENAME" -C "/4server/data" "$UUID"
|
|
|
|
# Remove old backups beyond the configured slots
|
|
ls -t "$BACKUP_DIR"/[0-9]*.zip 2>/dev/null | tail -n +$((BACKUP_SLOTS + 1)) | while read -r file; do
|
|
echo "Deleting old backup: $file"
|
|
doas rm -f "$file"
|
|
done
|
|
|
|
|