From 1228c73a2de75d9aea62cb916bd34a35f3682335 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Tue, 2 Jun 2015 12:11:21 +0200 Subject: [PATCH] Add README.md file --- README.md | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c8332e --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +# Backup Script + + +## Usage + +### backup-script + +Backup all or individual systems. + +Usage: `backup-script [] [ [ [...]]]` + +Options: + +- `-p`, `--progress`: Show progress, see rsync(1). +- `-n`, `--dry-run`: Test run only, don't copy any data. + +When no *system* is given, all defined systems are used. + +### backup-script-wrapper + +Backup all systems and mail the report to "root". + +Usage: `backup-script-wrapper` + +### backup-status + +Show information about backups. + +Usage: `backup-status [-q] [ [ [...]]]` + +Options: + +- `-q`: *quick mode*, don't calculate backup sizes. + + +## Configuration + +All defauklt configuration variables are read from `/etc/backup-script.conf`, +from `/etc/backup-script.d/backup-script.conf` (deprecated). The individual +systems are configured using individual files in `/etc/backup-script.d/`, one +for each system to backup (files ending in `*.sh` are skipped). + +Variables in `backup-script.conf` must be prefixed with `default_` to define +default values for all systems. + +All default can be overwritten in individual system configuration files. + +For example: + +- `/etc/backups-script.conf`: defaults for all hosts +- `/etc/backups-script.d/host01.example.net`: configuration for host 1 +- `/etc/backups-script.d/clientXY.example.com`: configuration for host 2 + + +## Configuration Variable + +### system + +System host name. Default: file name. + +*Note:* There is no `default_system` variable! + +### [default_]user + +Remote user. Default: `root`. + +### [default_]target + +Local backup directory. The backup of each system is stored in a folder named +like the system (see `system` variable) inside of this target directory. + +*Note:* There is *no* default, you have to specify this variable, for example as +`default_target` in the `backups-script.conf` file! + +### [default_]ssh_args_add + +Additional parameters for `ssh`. Default: none. + +### [default_]rsync_args_add + +Additional parameters for `rsync`. Default: none. + +### [default_]exclude_args_add + +Additional (exclude) parameters for `rsync`. Default: none. + +### [default_]compress + +Enable (1) or disable (0) compression. Default: 1 (on). + +### [default_]ping + +Enable (1) or disable (0) ping'ing the target system to make sure that it is +reachable before calling `rsync`. Default: 1 (on). + +### [default_]local + +Enable (1) or disable (0) *local mode*: when local mode is in effect, `rsync` is +called without using `ssh`, which is a good idea when saving the local system. +Default: 0 (off; use ssh). + +### [default_]generations + +Number of generations to keep. Default: 0 (none). + +On a *btrfs* target file systems (see `target` variable), this script can +generate generations using *btrfs snapshots*: the script creates a new snapshot +named with the timestamp for each generation inside of the system directory +inside of the target directory. + +### [default_]job_pre_exec + +Optional script to execute before `rsync` starts. Default: none. + +When the `job_pre_exec` script returns an error (exit code is not 0), the backup +run is skipped! + +### [default_]job_post_exec + +Optional script to execute after `rsync` exited. Default: none. -- 2.39.2