No description
launchd | ||
systemd | ||
.gitignore | ||
backup.sh | ||
readme.md |
print_logo () {
cat <<'EOF'
_ _ _
| |__ __ _ ___| | ___ _ _ __ ___| |__
| '_ \ / _` |/ __| |/ / | | | '_ \ / __| '_ \
| |_) | (_| | (__| <| |_| | |_) |\__ \ | | |
|_.__/ \__,_|\___|_|\_\\__,_| .__(_)___/_| |_|
|_|
A wrapper around restic to help control configuration.
EOF
# Copyright (c) 2021 Andrew Davidson
}
print_help () {
echo -e """
Usage:
backup.sh 'command' 'destination' 'input'
Supported Commands:
backup - initiate a backup of the home folder to the destination
check - check repository for consistency
find - find a file by a string in the repository (requires input)
ex: backup.sh find s3 critical_file.doc
help - print this help
init - intiialize a new backup repository
mount - mount repository as a local file system
ex: backup.sh mount s3 /mnt/restic
prune - prune old backups on the destination
restore - restores file from repository (requires input)
ex: backup.sh restore s3 latest --target=/tmp/restore --include=/home/user/Documents
snapshots - list backups on the destination
stats - print statistics about the backup repository
unlock - unlock a locked repository - use for stale locks
Required Configuration:
\$XDG_CONFIG_HOME/backup.sh/\$DESTINATION/\$DESTINATION.repo
- Define the repository path in this file
\$XDG_CONFIG_HOME/backup.sh/\$DESTINATION/\$DESTINATION.pwd
- Define the repository password in this file
\$XDG_CONFIG_HOME/backup.sh/\$DESTINATION/\$DESTINATION.paths
- list of paths to be backed up
\$XDG_CONFIG_HOME/backup.sh/\$DESTINATION/\$DESTINATION.exclude
- list of paths to be excluded
\$XDG_CONFIG_HOME/backup.sh/\$DESTINATION/\$DESTINATION.keys
- OPTIONAL: bash exports of required keys for s3/b2 backups
\$XDG_DATA_HOME/backup.sh/\$DESTINATION/\$DESTINATION.log
- empty file for logging
"""
}