simple_backup ============ A simple backup script ## Description simple_backup is a Python script that allows you to backup your files. Parameters like input files/directories, output directory etc. can be specified in a configuration file, or on the command line. Run: ```bash simple_backup -h ``` to print all possible command line options. ## Dependencies The script uses rsync to actually run the backup, so you will have to install it on your system. For example on Arch Linux: ```bash sudo pacman -Syu rsync ``` Optional dependencies are systemd-python to enable using systemd journal for logging, and dbus-python for desktop notifications. ## Install To install the program, first clone the repository: ```bash git clone https://github.com/Fuxino/simple_backup.git ``` Then install the tools required to build the package: ```bash pip install --upgrade build wheel ``` Finally, run: ```bash cd simple_backup python -m build --wheel python -m pip install dist/*.whl ``` For Arch Linux and Arch-based distros, two packages are available in the AUR (aur.archlinux.org): - **simple_backup** for the release version - **simple_backup-git** for the git version ## Old backups The number of old backups to keep can be set with the --keep (or -k) argument (or in the configuration file). Old backups are only removed if rsync completes successfully, so that they are not deleted when the new backup may be incomplete. The only rsync error that is ignored is return code 24 (source files vanished during the transfer), which is common when backing up a live system. ## Remote backup > **Warning** > This feature is experimental It's possible to use a remote server as destination for the backup. Just use the --username (or -u) and --host arguments (or set them in the configuration file). For this to work, rsync must be installed on the server too. ### Server authentication The best way to handle the authentication is to have an ssh agent running on your system, otherwise if a passphrase is necessary to unlock the ssh key, it will be necessary to enter it more than once. If needed, it's possible to specify the ssh key location with the --keyfile argument or in the configuration file. To be able to connect to the user's ssh agent when running simple_backup with sudo, make sure to preserve the SSH_AUTH_SOCK environment variable. For example: ```bash sudo --preserve-env=SSH_AUTH_SOCK -s simple_backup [options] ``` or by editing the sudoers file. If SSH key authentication is not available, password authentication will be used instead. Check the man page for more details.