FAQ¶
General Questions¶
What is fnb?¶
fnb (Fetch'n'Backup) is a simple two-step backup tool that uses rsync for efficient data synchronization. It allows you to:
- Fetch data from remote servers to local storage
- Backup local data to external/cloud storage
- Sync both operations in sequence
How does fnb work?¶
fnb uses a configuration-driven approach with TOML files to define backup tasks. Each task specifies source and target locations, rsync options, and other settings.
What are the main benefits?¶
- Simple Configuration: TOML-based configuration files
- SSH Automation: Automatic password handling for remote connections
- Dry Run Support: Preview operations before execution
- Cross-Platform: Works on Linux, macOS, and Windows
- Reliable: Built on proven rsync technology
Installation¶
Requirements¶
- Python 3.12 or higher
- rsync (usually pre-installed on Unix-like systems)
Quick Installation¶
# Install from PyPI
pip install fnb
# Or install from source
git clone https://gitlab.com/qumasan/fnb.git
cd fnb
pip install -e .
Configuration¶
Basic Setup¶
For detailed configuration options, see the Configuration Guide.
Common Issues¶
SSH Authentication¶
Q: How do I handle SSH passwords?
A: fnb supports multiple authentication methods:
- SSH key authentication (recommended)
- Password via .env file
- Command-line password option
Path Issues¶
Q: Target directory doesn't exist
A: Use the --create-dirs option to automatically create missing directories:
Permission Errors¶
Q: Permission denied errors
A: Check file permissions and SSH access: - Verify SSH key permissions (600 for private key) - Ensure target directories are writable - Test SSH connection manually first
Getting Help¶
- Documentation: Complete guides available in this documentation
- Issues: Report bugs at GitLab Issues
- Commands: Use
fnb --helporfnb COMMAND --helpfor built-in help
Contributing¶
We welcome contributions! See the Contributing Guide for details on: - Setting up development environment - Code standards and testing - Submitting pull requests