Backup Plans Introduction
What is a Backup Plan?β
A Backup Plan in Pluton is an automated, scheduled task that performs periodic incremental backups of your files and folders from a source device to a destination storage. Each plan defines what to backup, where to store it, when to run it, and how to manage the backup lifecycle.
Pluton uses Restic under the hood - a fast, secure, and efficient backup program that performs incremental backups by default. This means only changes since the last backup are stored, significantly reducing storage space and backup time.
Key Featuresβ
π Incremental Backupsβ
- Automatic deduplication - Only unique data blocks are stored, even across different files
- Fast subsequent backups - After the initial full backup, only changes are backed up
- Efficient storage - Dramatically reduces storage requirements compared to full backups
π Flexible Schedulingβ
- Multiple intervals - Hourly, daily, weekly, monthly, or custom schedules
- Precise timing - Set specific times for backup execution
- Custom frequency - Run every N minutes, hours, or on specific days
π Security & Encryptionβ
- AES-256 encryption - Optional end-to-end encryption of all backup data
- Password protection - Encrypted backups are protected with a secure password
- Secure transfer - All data transfers use secure protocols
π¦ Compressionβ
- Optional compression - Reduce storage space further with built-in compression
- Automatic optimization - Smart compression based on file types
π― Selective Backupβ
- Include paths - Specify exactly which folders/files to backup
- Exclude patterns - Exclude specific files, folders, or patterns
- Flexible configuration - Fine-grained control over what gets backed up
π§Ή Automatic Retention & Pruningβ
- Snapshot retention policies - Keep daily, weekly, monthly snapshots
- Automatic cleanup - Old snapshots are automatically removed based on policy
- Space management - Prevent storage from filling up with old data
π Notificationsβ
- Email notifications - Get notified on backup success, failure, or both
- Webhook integration - Integrate with external services
- Custom triggers - Configure when to receive notifications
π Retry Mechanismβ
- Automatic retries - Failed backups are automatically retried
- Configurable attempts - Set the number of retry attempts and delay
- Resilient - Handles transient network or system issues gracefully
π Progress Trackingβ
- Real-time progress - Monitor backup progress in real-time
- Detailed logs - Complete logs of all backup operations
- Statistics - View backup history, sizes, and performance metrics
π Multi-Device Supportβ
- Local backups - Backup the main Pluton server itself
- Remote backups - Backup remote devices via Pluton Agent
- Centralized management - Manage all backups from one interface
How It Worksβ
Backup Process Flowβ
Technical Processβ
-
Initialization
- When you create a backup plan, Pluton initializes a Restic repository in your chosen storage location
- The repository structure is created with metadata and configuration
- A cron schedule is registered based on your interval settings
-
Scheduled Execution
- At the scheduled time, the cron manager triggers the backup task
- The task is added to a priority queue for execution
- Supports configurable retries (default: 5 attempts) with delays between retries
-
Backup Execution
- Pluton reads the source paths from your configuration
- Restic scans the source files and compares them to the previous snapshot
- Only new or changed data blocks are uploaded to storage
- Unchanged files are referenced by their existing data blocks (deduplication)
-
Snapshot Creation
- After all data is backed up, Restic creates a snapshot
- The snapshot is a point-in-time reference to all backed-up files
- Snapshots are lightweight and stored efficiently
-
Pruning (Cleanup)
- Based on your retention policy, old snapshots are automatically removed
- Policies can keep daily, weekly, and monthly snapshots
- Unreferenced data blocks are cleaned up to free space
-
Notifications & Logging
- Backup completion status is logged
- Notifications are sent based on your configuration (success, failure, or both)
- Progress and statistics are updated in the database
Backup Data structureβ
As Pluton uses restic to backup your content to various destination storage, it stores your data in a way that is fundamentally different from a simple file-copy or "sync" operation. Instead of mirroring your local folder structure directly, restic uses a content-addressable storage model.
This means that your files are broken down into small chunks, encrypted, and then stored in a repository structure designed for efficiency, security, and deduplication.
Repository Structure Comparisonβ
Here is a side-by-side comparison of how files look on a local machine versus how they are organized within a Pluton (restic) backup destination:
| Source Content (Your Files) | Destination Repository (Restic Structure) |
|---|---|
/my-data/ | /backup-bucket/ |
βββ projects/ | βββ config (Repository configuration) |
β βββ app.js | βββ keys/ (Encryption keys) |
βββ documents/ | βββ index/ (The map of all data chunks) |
β βββ report.pdf | βββ snapshots/ (Points in time you can restore) |
βββ notes.txt | βββ data/ (The actual encrypted data) |
Β Β Β Β βββ 00/ | |
Β Β Β Β βββ 3f/ | |
Β Β Β Β βββ a1/ |
Content-Addressable Storage and Deduplicationβ
This structure is the foundation of how restic writes data to ensure maximum efficiency. Rather than saving a file as a single unit, restic performs the following:
- Variable-Size Chunking: Files are split into several chunks.
- Unique Identification: Each chunk is assigned a unique ID based on its content (a cryptographic hash).
- Deduplication: Before writing a chunk to the
data/folder, restic checks if a chunk with that ID already exists in the repository. If it doesβeven if it belonged to a different file or a previous backupβrestic will not save it again. It simply creates a reference to the existing chunk.
Because of this process, if you have ten copies of the same 1GB file, the destination storage will only use 1GB of space (plus a small amount of metadata). This allows Pluton to provide incredibly fast incremental backups and significant savings on storage costs, as only the unique, changed parts of your data are ever uploaded.
Backup Plan Typesβ
Pluton supports multiple backup methods to suit different use cases:
-
Standard Backup - Traditional incremental backup with snapshots. Each snapshot is a complete point-in-time backup that supports restoration to any previous state. Ideal for version history and disaster recovery with automatic deduplication.
-
[PRO] Sync Backup - Keeps destination in sync with source as a mirror. More efficient for simple mirroring needs and useful for maintaining live copies of data. Its also possible to store different versions of the files. Sync Backups are made using Rclone.
-
[PRO] Full Server Backup (ReaR + Restic) - Complete bare-metal system backup for Linux servers using Relax-and-Recover (ReaR). Creates bootable ISO images for disaster recovery along with full filesystem backups. Enables complete system restoration from scratch.
Storage Destinationsβ
Backup plans support multiple storage types:
- Local Storage - Store backups on local disks or mounted drives
- Cloud Storage - AWS S3, Google Cloud Storage, Azure Blob
- Object Storage - Backblaze B2, Wasabi, MinIO
- Cloud Providers - Google Drive, OneDrive, Dropbox, pCloud
- SFTP/SSH - Any server with SSH access
- And more - Any storage supported by Rclone
Performance Optimizationβ
Pluton provides advanced performance settings to optimize backup speed:
- CPU Concurrency - Control how many CPU cores to use
- Read Concurrency - Number of concurrent file reads
- Pack Size - Size of data packs for upload
- Transfers - Number of parallel transfers
- Buffer Sizes - Optimize for network/disk speed
- Multi-threading - Parallel upload streams for faster transfers
Next Stepsβ
- Creating Your First Backup Plan - Step-by-step guide
- Storage Configuration - Setting up storage destinations
- Retention Policies - Managing backup plans
- Restore Guide - How to restore your data
For technical details about Restic and Rclone, visit their official documentation: Restic | Rclone