A practical guide for protecting and recovering data when using S3-compatible storage (like Backblaze B2 or Storj) with TrueNAS Cloud Sync or other rclone-based backup tools.
When using S3-compatible storage for backups:
- Compromised credentials could lead to data loss
- Syncing tools like TrueNAS Cloud Sync can't directly access previous versions
- Protection and recovery options vary by storage provider
- Object lock and versioning settings have important implications
Best for: Restoring deleted files without downloading directly from storage
- Files were only deleted (not overwritten)
- You need to make files visible to TrueNAS Cloud Sync again
- This repository includes a Python script that performs server-side operations to remove delete markers, restoring access to previous versions of your files
- Works with both encrypted and unencrypted files since it only restores visibility at the storage level
- Learn more about quick undelete
Best for: Recovering files, folders, or entire buckets from any point in version history
- Restores from any point in version history
- Should work with any S3-compatible service
- Supports both encrypted and unencrypted backups with proper config
- Learn more about rclone recovery
Before disaster strikes:
- Understand bucket security options and trade-offs
- Configure rclone properly (including encryption setup)
For common scenarios:
# Quick undelete with provided script
python scripts/s3-restore-deleted.py my-bucket
# Point-in-time recovery with rclone
rclone copy remote:bucket/path local/path --s3-version-at "2024-01-17 21:10:00"This guide evolved from a need identified by Tom Lawrence (Lawrence Systems) to address S3 version recovery scenarios. Thanks to user jkv on the Lawrence Systems Forums for highlighting the rclone approach.
Issues and pull requests are welcome! Please help us expand this knowledge base with:
- Additional recovery scenarios
- New protection strategies
- Service-specific notes
- Configuration examples