# RIBS - Rod's Incremental Backup System ## Description With RIBS you can run automated incremental backups of one or more Linux systems to local or remote storage. ## Who RIBS is for RIBS is intended for a system administrator who wants to have easily accessible snapshots of the state of a specified part of a system at any point in time. ## Dependencies Before using RIBS, ensure you have: * Python3 * rsync These can be installed using the package manager of your Linux distribution. ## Instructions for using RIBS ### Install RIBS 1. Download RIBS The easiest way is to run `wget https://gitserver.thermionic.net/rod.wright/RIBS/releases/download/2.0/RIBS-2.0.tar.gz` or visit https://gitserver.thermionic.net/rod.wright/RIBS/releases to download the specific package version you'd like to use. 2. Extract the package `tar -zxvf RIBS-2.0.tar.gz` 3. Change to the extracted package directory `cd RIBS-2.0` 4. Run the installer as superuser `sudo ./install.sh` ### Configure RIBS RIBS operates through the use of configuration files. The format of the file is documented in the sample file, [/etc/ribs/conf-available/ribs.conf.sample](dist/etc/ribs/conf-available/ribs.conf.sample) * Superuser configuration files are located in `/etc/ribs/conf-available`. If RIBS is run by a superuser, those files will be used. A sample configuration file is provided. * Standard user configuration files are located in the user's home directory in `.ribs/conf-available`. * To enable automated usage of RIBS, the configuration file must be enabled by creating a symbolic link in `/etc/ribs/conf-enabled` or `.ribs/conf-enabled` to the configuration file in `/etc/ribs/conf-available` or `.ribs/conf-available`. ### Run RIBS ``` usage: ribs [-h] [-s] [-c | -l | -e CONF_FILE | -d CONF_FILE | conf_file] Rod's Incremental Backup System, version 2.0 positional arguments: conf_file Run RIBS using the specified config file. If none specified, run all enabled config files, looking in '~/.ribs/conf-enabled' for standard users, or in '/etc/ribs/conf-enabled' for superusers. options: -h, --help show this help message and exit -s, --simulate simulate operations to be performed -c, --config interactively create, remove, modify, enable, or disable config files -l, --list-configs list all config files -e CONF_FILE, --enable-config CONF_FILE enable a config file -d CONF_FILE, --disable-config CONF_FILE disable a config file ``` A script called `run_ribs_backups` is located in /usr/local/bin. This script is intended to facilitate running ribs backups using cron. To run system configs, either create a link to this script in one or more of the /etc/cron.* directories or add a line calling this script to the /etc/crontab file. That will run all enabled system configs. To run user configs, the user should add a line calling this script to their personal crontab. That will run all enabled user configs for that user. ## How to report problems To report an issue with RIBS, email me at software@rodsplace.net. ## Terms of use RIBS is licensed under the [GNU General Public License v2](LICENSE)