Never lose files again. Just right-click โ Backup. No terminal needed!
Features โข Installation โข Usage โข Documentation โข Contributing
- ๐ฏ "Backup As..." Fixed! - File chooser dialog now works reliably on all systems
- โป๏ธ Restore from Backup - Right-click backup files to restore originals
- ๐ Compare with Original - View differences between backup and current file
- ๐ View Backup History - Browse all backups of a file
- ๐๏ธ Auto-Cleanup Old Backups - Keep only last N backups per file (configurable)
- โณ Progress Notifications - Visual feedback for large file operations
- ๐ Backup Statistics - Track total backups created and space used
- ๐ Critical Bug Fixes - GTK 4 dialog handling and stability improvements
On Linux, backing up files is unnecessarily complicated:
|
โ The Old Way
|
โ The New Way
|
|
Creates timestamped backup in the same folder Perfect for quick "save before editing" |
Choose custom name and location (Now Fixed!)
|
|
Organized backup folder
|
Automatic Preserves all permissions & structure |
|
Right-click any backup file
|
See what changed
|
|
Browse all backups of a file
|
Keep only recent backups
|
- ๐ Desktop Notifications - Visual feedback for every action
- โณ Progress Indicators - For large file/folder operations
- ๐ Statistics Tracking - Monitor total backups and space used
- โ๏ธ Settings Panel - Configure backup folder and preferences
- ๐จ Native GNOME Integration - Beautiful, consistent UI
- ๐ Fast & Lightweight - Instant backups, no performance impact
- ๐ Safe & Reliable - Preserves file permissions and metadata
# Clone the repository
git clone https://github.com/strabo231/nautilus-backup-extension.git
cd nautilus-backup-extension
# Run installer (automatically detects your Nautilus version)
./install.shThat's it! The installer handles everything:
- โ Detects Ubuntu 20.04, 22.04, or 24.04
- โ Checks for Nautilus 3.x or 4.x
- โ Installs dependencies if needed
- โ Sets up the extension
- โ Restarts Nautilus
Click to expand manual installation steps
1. Install Dependencies:
# Ubuntu/Debian
sudo apt install python3-nautilus
# Fedora
sudo dnf install nautilus-python
# Arch
sudo pacman -S python-nautilus2. Install Extension:
mkdir -p ~/.local/share/nautilus-python/extensions
cp nautilus-backup.py ~/.local/share/nautilus-python/extensions/
chmod +x ~/.local/share/nautilus-python/extensions/nautilus-backup.py3. Restart Nautilus:
nautilus -q
nautilus &Right-click any file in Nautilus. You should see ๐ Backup in the menu!
- Right-click any file or folder in Nautilus
- Look for ๐ Backup in the context menu
- Choose your option:
- โก Quick Backup - Instant timestamped backup in same folder
- ๐พ Backup As... - Choose custom name and location
- ๐๏ธ Backup to ~/Backups - Organized central storage
- โป๏ธ Restore from Backup - (On backup files) Restore original
- ๐ Compare with Original - (On backup files) View differences
- ๐ View All Backups - See all backups of this file
- โ๏ธ Backup Settings - Configure preferences
Before Editing Important Files
Scenario: About to edit a config file
1. Right-click /etc/nginx/nginx.conf
2. Backup โ Quick Backup
3. Edit safely! Original is backed up as:
nginx.conf_backup_2024-12-22_14-30-00
4. If something breaks:
- Right-click the backup
- Restore from Backup
Creating Project Archives
Scenario: Archiving a project folder
1. Right-click ~/Projects/myapp/
2. Backup โ Backup As...
3. Choose: ~/Archive/myapp_v1.0.tar.gz
4. Share or store the compressed archive
Regular Backup Routine
Scenario: Daily backup of important files
1. Select multiple files (Ctrl+Click)
2. Right-click โ Backup โ Backup to ~/Backups
3. All files backed up with timestamps
4. Check ~/Backups anytime to find them
5. Old backups auto-deleted if limit set
Comparing File Versions
Scenario: Check what changed since backup
1. Right-click report_backup_2024-12-20.docx
2. Compare with Original
3. See differences side-by-side in meld
4. Decide if you want to restore
|
Ubuntu LTS (Officially Tested):
Other Distros (Should work):
|
Software:
Desktop:
Hardware:
Optional:
|
Right-Click Menu
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Open โ
โ Open With... โ
โ โโโโโโโโโโโโโโโโ โ
โ Cut โ
โ Copy โ
โ Paste โ
โ โโโโโโโโโโโโโโโโ โ
โ ๐ Backup โถ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโโโโโ โ โ ๐ View All Backups โ
โ Properties โ โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โก Quick Backup (Same Folder) โ
โ ๐พ Backup As... โ
โ ๐๏ธ Backup to ~/Backups โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ๏ธ Backup Settings โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Backup File Context Menu
Right-click on any file with "_backup_" in the name:
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Backup โถ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โป๏ธ Restore from Backup โ
โ ๐ Compare with Original โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โก Quick Backup (Same Folder) โ
โ ๐พ Backup As... โ
โ ๐๏ธ Backup to ~/Backups โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ๏ธ Backup Settings โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Backup As Dialog (Fixed!)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Backup As... โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
โ Save in: /home/user/Documents โผ โ
โ โ
โ Name: report_backup_2024-12-... โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ document.pdf โ โ
โ โ image.png โ โ
โ โ report.docx โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ [Cancel] [Save] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Settings Panel
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Backup Settings โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
โ Backup Folder: โ
โ /home/user/Backups [๐] โ
โ โ
โ Auto-Cleanup Old Backups: โ
โ โ Keep only last [10โผ] backups โ
โ per file โ
โ โ
โ Statistics: โ
โ Total backups created: 127 โ
โ Total space used: 2.4 GB โ
โ โ
โ Features: โ
โ โก Quick Backup - Timestamped โ
โ ๐พ Backup As - Custom location โ
โ ๐๏ธ Backup to ~/Backups โ
โ โป๏ธ Restore - From backup files โ
โ ๐ Compare - View differences โ
โ ๐ History - View all backups โ
โ ๐ Folder support (.tar.gz) โ
โ โณ Progress - For large ops โ
โ ๐๏ธ Auto-cleanup - Save space โ
โ ๐ Statistics - Track usage โ
โ ๐ Desktop notifications โ
โ โ
โ [Open Backups Folder] [Close] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Scenario | Solution |
|---|---|
| ๐ Before editing config files | Quick Backup โ Edit safely โ Restore if needed |
| ๐ผ Version control for documents | Backup As โ document_v1.docx, document_v2.docx |
| ๐ฆ Project archiving | Backup folder โ Auto-compressed .tar.gz |
| ๐ Regular backups | Backup to ~/Backups โ Auto-cleanup old versions |
| ๐ Before system updates | Backup configs โ Compare/Restore if issues |
| ๐ค Sharing with USB/cloud | Backup As to USB/Dropbox folder |
| ๐ Check file changes | Compare with Original โ See what changed |
| โป๏ธ Undo unwanted changes | Restore from Backup โ Get original back |
Menu Not Appearing?
1. Check dependencies:
python3 -c "import gi; gi.require_version('Nautilus', '3.0')"
# Or for Nautilus 4.x:
python3 -c "import gi; gi.require_version('Nautilus', '4.0')"2. Restart Nautilus:
nautilus -q
nautilus &3. Check installation:
ls ~/.local/share/nautilus-python/extensions/nautilus-backup.py4. Check permissions:
chmod +x ~/.local/share/nautilus-python/extensions/nautilus-backup.pyExtension Not Loading?
Check Nautilus logs:
nautilus -q
NAUTILUS_EXTENSION_DEBUG=1 nautilus 2>&1 | grep -i backupVerify Python path:
python3 -c "import sys; print('\n'.join(sys.path))""Backup As..." Dialog Not Showing?
This was fixed in v1.2.0! Make sure you have the latest version:
cd nautilus-backup-extension
git pull
./install.shIf still having issues:
nautilus -q
NAUTILUS_EXTENSION_DEBUG=1 nautilus 2>&1 | grep "backup_as"Backup Fails?
Common causes:
- โ Permission denied โ Try backing up to ~/Backups
- โ No space left โ Check disk:
df -h - โ Folder too large โ May take time to compress (watch for progress notification)
Check logs:
journalctl -xe | grep -i backupCompare Feature Not Working?
Install meld for visual comparison:
sudo apt install meldWithout meld, the extension falls back to text diff.
Open an issue with:
- Your Ubuntu version (
lsb_release -a) - Nautilus version (
nautilus --version) - Python version (
python3 --version) - Error messages from logs
- ๐ Quick Start Guide - Get started in 2 minutes
- ๐ User Guide - Comprehensive usage guide
- โจ Features - Detailed feature documentation
- ๐ค Contributing - How to contribute
- ๐ Changelog - Version history
- ๐ง Technical Details - Dialog fix implementation
./uninstall.shYour backup files in ~/Backups are NOT deleted - only the extension is removed.
rm ~/.local/share/nautilus-python/extensions/nautilus-backup.py
rm -rf ~/.config/nautilus-backup
nautilus -qContributions are welcome! Current roadmap:
Completed in v1.2.0:
- Restore from backup feature
- Compare file with backup (diff view)
- Auto-cleanup old backups (keep last N)
- Progress bars for large operations
- Backup history view
- Statistics tracking
- Fix "Backup As..." dialog
Still wanted:
- Backup scheduling
- Incremental backups
- Cloud storage integration (Dropbox, Google Drive)
- Port to other file managers (Nemo, Caja)
See CONTRIBUTING.md for guidelines.
If this extension makes your life easier:
- โญ Star this repo - Helps others discover it!
- ๐ Report bugs - Help make it better
- ๐ก Suggest features - Tell us what you need
- ๐ข Share it - Tell your Linux friends
- โ Sponsor - Support development
This project is licensed under the MIT License - see the LICENSE file for details.
โ You can:
- Use it commercially
- Modify the code
- Distribute it
- Use it privately
โ You must:
- Include the license
- Include copyright notice
โ No warranty - Provided "as is"
- Nautilus Python Extension Framework - For making extensions possible
- GNOME Community - For excellent documentation
- All Contributors - Thank you for making this better!
- Linux Community - For feedback and support
Special thanks to everyone who:
- Reported bugs
- Suggested features
- Starred the repo
- Shared with others
- ๐ Scheduled backups (cron integration)
- ๐ Incremental backup support
- ๐ Multi-language support
- โ๏ธ Cloud storage integration
- ๐จ Theme customization
- ๐ Plugin system
- ๐๏ธ Support for other file managers (Nemo, Caja)
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Reddit: r/Ubuntu
- Discord: Coming soon
- GitHub: @strabo231
- Issues: Report a bug
- Email: Via GitHub profile
If you find this extension useful, please consider giving it a star.
It helps others discover the project and motivates continued development!
Made with โค๏ธ for the Linux community