Observed since 20 Oct, 20:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A simple but powerful rsync backup tool
A powerful and flexible remote backup tool for developers and system administrators
Key Features • Getting Started • Usage • Advanced Topics • Contributing
AeonSync redefines remote backups with its powerful feature set:
--link-dest for optimal storage usepip install aeonsync
Basic command structure:
# Perform a backup (multiple per day by default)
aeon sync --remote user@host:/path/to/backups
# Restore a file
aeon restore [OPTIONS] FILE [DATE]
# List available backups
aeon list-backups
The sync command is used to create backups:
aeon sync [OPTIONS]
Options:
--remote TEXT: Remote destination in the format [user@]host:path--source PATH: Source directories to backup (can be specified multiple times)--retention INTEGER: Number of days to retain backups--dry-run: Perform a dry run without making changes--verbose: Enable verbose output--daily: Create only one backup per day (overrides default behavior)The restore command provides functionality for file recovery:
aeon restore [OPTIONS] [FILE] [DATE]
Options:
--output PATH: Output directory for restored file or directory--interactive: Use fully interactive mode for restore--diff: Show diff between local and backup versions--preview: Show a preview of the file before restoringTo view available backups:
aeon list-backups [OPTIONS]
This command displays a detailed list of all backups, including dates, file counts, and total sizes.
AeonSync can be configured using command-line options or by modifying the configuration file:
hostname = "myworkstation"
remote_address = "user@nas.local"
remote_path = "/volume1/backups"
remote_port = 22
retention_period = 30
source_dirs = ["/home/user/projects", "/var/www", "/etc"]
exclusions = [".cache", "*/node_modules", "*.tmp", ".venv"]
ssh_key = "/home/user/.ssh/id_rsa"
verbose = False
log_file = "/home/user/.local/share/aeonsync/aeonsync.log"
default_daily_backup = False # Set to True to allow only one backup per day
AeonSync organizes your backups as follows:
/volume1/backups/
└── myworkstation/
├── latest -> 2024-03-15
├── 2024-03-15/
├── 2024-03-14/
├── 2024-03-13.1/
├── 2024-03-13/
└── ...
2024-03-13.1)latest symlink always points to the most recent backupAeonSync can be used in various scenarios:
Protect your projects and documents with daily backups to your Synology NAS:
aeon sync --remote user@synology:/volume1/backups --source /home/user/projects --source /home/user/documents
Safeguard your web applications and databases:
aeon sync --remote backupuser@remote-server:/backups --source /var/www --source /var/lib/mysql
Keep your code safe with multiple backups per day:
aeon sync --remote user@dev-server:/backups --source /home/dev/workspace
Comprehensive backup solution for critical business data:
aeon config --hostname business-server --remote-address nas.local --remote-path /volume1/business-backups
aeon sync --source /home/shared --source /var/financial-data --retention 90
To set up the development environment:
git clone https://github.com/hyperb1iss/aeonsync.git
cd aeonsync
pip install poetrypoetry installpoetry shellTo run tests:
pytest
To run linting checks:
poetry run lint
Contributions to AeonSync are welcome! Here's how you can contribute:
git checkout -b feature-branch-namegit commit -m 'Add some feature'git push origin feature-branch-namePlease ensure your code adheres to the project's style guide (we use Ruff for formatting) and passes all tests.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
📚 Documentation • 🐛 Report Bug • 💡 Request Feature
Created by Stefanie Jane 🌠
If you find this project useful, buy me a Monster Ultra Violet! ⚡️
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 16 Oct 2024 | 6 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:e769c9ed2118d53316686a516bdbbdf711aade5931632399df8ed04dbdf9fb75