backup.sh/readme.md

2.1 KiB

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

    

    """
}