Page:
Backup
Pages
Authentication
Backup
Collections
Cron
Databases
Distributed Realtime
Embeddings Tutorial
File Sync
Full Text Search
Getting Started
Granular Access Control
Graphs Timetree
Graphs Tutorial
Graphs
Home
JS Sdk Installation
Migrations
Pipelines
Plugins Tutorial
Plugins
Realtime
Replication
Rules and Access Control
Triggers
Vector Embeddings
Views
Webhooks
Workflows
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.
- Getting Started
- JS/TS SDK
- Authentication
- Databases
- Collections
- Graphs
- Rules and Access Control
- Granular Access Control
- Triggers
- Plugins
- Realtime
- Full Text Search
- Vector Embeddings
- Workflows
- Pipelines
- Cron
- Webhooks
- Migrations
- Replication
- File Sync
- Backup
- Distributed Realtime
- Tutorial: Embeddings
- Tutorial: Graphs
- Recipe: Calendar Timetree
- Tutorial: Plugins