2025-03-30 15:02:50 +02:00
2025-03-30 14:38:29 +02:00
2025-03-30 15:02:50 +02:00
2019-09-16 19:29:02 +02:00
2025-03-30 14:53:53 +02:00
2025-03-30 14:39:59 +02:00

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:

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:

sudo pacman -Syu rsync

It's also required to have python-dotenv

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:

git clone https://github.com/Fuxino/simple_backup.git

Then install the tools required to build the package:

pip install --upgrade build wheel

Finally, run:

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

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:

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.

Description
No description provided
Readme GPL-3.0 216 KiB
2025-03-30 08:40:50 -04:00
Languages
Python 96.1%
Shell 3.9%