Live Demo

Arkhivio Backup Framework

Animated walkthrough — scan → upload → S3 storage → audit → restore

1. Scan
2. Upload
3. S3 Storage
4. Audit
5. Restore
0
Files scanned
0
Uploaded
0 B
Bytes transferred
Integrity
Pipeline
🔍
Scanner
scanner.py — CRC32 + mtime/size
config.yaml
app.log
data/records.db
reports/q1.pdf
reports/q2.pdf
media/logo.png
static/style.css
keys/cert.pem
Uploader
uploader.py — 4 workers · token-bucket throttle
config.yaml
app.log
data/records.db
reports/q1.pdf
reports/q2.pdf
media/logo.png
static/style.css
keys/cert.pem
s3 PUT
s3 GET
S3 Bucket — prod-backups
webserver-01/{absolute/path}
·
·
·
·
·
·
·
·
x-amz-meta-crc32 · x-amz-meta-compressed
Restore
restore_onlys3.py — no MongoDB required
✓ /restore/config.yaml — CRC32 match
✓ /restore/app.log — CRC32 match
✓ /restore/data/records.db — CRC32 match
✓ /restore/reports/q1.pdf — CRC32 match
✓ /restore/reports/q2.pdf — CRC32 match
✓ /restore/media/logo.png — CRC32 match
✓ /restore/static/style.css — CRC32 match
✓ /restore/keys/cert.pem — CRC32 match
Audit — 3-check integrity verification
📄
latest_file
At least one snapshot document exists in MongoDB
pending
🔑
s3_metadata
x-amz-meta-crc32 on the latest S3 object matches MongoDB
pending
💾
restore & verify
Download a random file, recompute CRC32, compare with stored checksum
pending
Structured JSON log output
backup-framework — structured logs