No results
1
Backup
Anton Nesterov edited this page 2026-02-26 16:23:25 +01:00
Table of Contents
Backup
You can run a replica server to maintain a live, synchronized copy of your data for backup purposes - see Replication for setup instructions.
rsync Snapshots
For additional backup redundancy, use rsync with --link-dest to create
space-efficient snapshots of your data directory:
# Create a backup script: /usr/local/bin/vski-backup.sh
#!/bin/bash
DATA_DIR="/var/lib/vski/data"
BACKUP_DIR="/var/lib/vski/backups"
DATE=$(date +%Y-%m-%d_%H%M%S)
LATEST="$BACKUP_DIR/latest"
mkdir -p "$BACKUP_DIR"
# Create incremental snapshot with hard links for unchanged files
rsync -av --delete \
--link-dest="$LATEST" \
"$DATA_DIR/" \
"$BACKUP_DIR/$DATE/"
# Update latest symlink
ln -sfn "$BACKUP_DIR/$DATE" "$LATEST"
# Remove backups older than 30 days
find "$BACKUP_DIR" -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
echo "Backup completed: $BACKUP_DIR/$DATE"
# Add to crontab for hourly snapshots
crontab -e
# Run every hour
0 * * * * /usr/local/bin/vski-backup.sh >> /var/log/vski-backup.log 2>&1
This approach creates full backup directories but uses hard links for unchanged files, so each snapshot appears complete while only storing differences.