A robust, secure backup solution written in V language that creates encrypted, signed, and compressed backups with real-time notifications.
🔐 |
GPG Encryption & Signing - All backups are encrypted and digitally signed |
📦 |
High Compression - Uses pigz for parallel gzip compression |
📱 |
Real-time Notifications - Sends status updates via ntfy.sh |
⚡ |
Fast & Efficient - Written in V for optimal performance |
🛡️ |
Security First - Handles sensitive directories with proper permissions |
📊 |
Detailed Reporting - Comprehensive backup statistics and status |
🎯 |
YAML Configuration - Easy-to-manage configuration file |
Ensure the following tools are installed on your system:
-
Clone or download the script
-
Make it executable:
-
Configure your backup settings in backups.yaml
-
Run the backup:
The script uses a YAML configuration file (backups.yaml) with the following structure:
-
Email associated with your GPG key
-
Directory where encrypted backups will be stored
-
ntfy.sh topic for notifications
-
ntfy.sh server URL
-
Dummy entry - do not remove, used for array initialization
-
Actual backup entries with title and path
Before running the script, ensure you have a GPG key pair
The script uses ntfy.sh for real-time notifications
Backup files follow this naming pattern:
Example: ssh_keys_2025-07-07_18-57-04.tar.gz.gpg
-
Encryption: All backups are encrypted using GPG with your public key
-
Digital Signing: Files are signed with your private key for authenticity
-
Secure Permissions: Sensitive directories (.ssh, .gnupg) are handled with sudo
-
Cleanup: Unencrypted temporary files are automatically removed
The script uses pigz for parallel compression. You can modify the compression command in the source code:
Add to your crontab for automated backups:
Create a systemd service and timer for more advanced scheduling:
backup.service
backup.timer
For debugging, uncomment the debug line in the run_cmd function:
-
V Language Team - For the excellent V programming language
-
ntfy.sh - For the simple notification service
-
GPG Project - For robust encryption tools
-
pigz - For parallel compression capabilities
Made with ❤️ and V language
.png)


