Index of /~sebek/backup
A set of shell scripts to perform automated backups on linux workstations/servers.
Follows the Unix-style workflow: a single script performs a single (usually simple) task - write the backup to disk, ask remote server for backup, generate backup content for backup type X.
See "backup/doc" directory for more info.
Client - fetches backups from servers and stores them locally
Server - serves backup contents to clients
/usr/lib/output:
disk - On a client, writes stdin to a file on a filesystem
tape - On a client, writes stdin to a tape
/usr/lib/sbin:
gen-backup-key - On a server, generate a pair of ssh keys, store in
/etc/backup
get-backup - On a client, fetch backup from a backup server (over SSH)
and pass it to stdout
get-backup-types - On a client, fetch a list of backup types
(levels/sublevels) from a backup server and pass it
to stdout
get-tape-label - On a client, read a tape label from a tape
make-backup - On a server, run a script from /etc/backup/scripts and
pass generated backup to stdout
store-system-info - On a server, get some extra system info (partition
table, boot sector) and store them in
/etc/backup/system
/etc/backup:
secrets - On a server, passwords used for DB access, backup encription
etc, as env variables (shell script)
ssh-key* - On a client, ssh keys
system/ - On a server, data collected by store-system-info
scripts/ - On the server, named X.Y with accompanying X.Y.info
text files.
X and Y are integers, X being "level", Y "sublevel".
Client can poll a list of levels (X values) and sublevels
for given X (X.Y values). Each X.Y script is expected to
generate some data that it wants to back up and pass it to
stdout.
See examples in backup/doc/examples/scripts/
tapes/ - On a client, scripts to be run from a crontab, each requesting
a set of backups from remote servers and storing them locally
(using scripts from "output").
See examples in backup/doc/examples/tapes/
timestamps/ - On a server, place for scripts to place timestamp files,
for incremental backups.