Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #######
- # /usr/local/etc/restic-env.sh
- #######
- export B2_ACCOUNT_ID='005853df61406f00002'
- export B2_ACCOUNT_KEY='K02WMXFAh6MOVxyh1b233lMLyk\4vo'
- export RESTIC_REPOSITORY=b2:server-01:restic
- export RESTIC_PASSWORD_FILE=/root/restic/pw.restic
- export BACKUP_PATHS="/opt /root /var/lib/automysqlbackup"
- export EXCLUDES="--exclude data/logs/ --exclude database/"
- #######
- # /root/restic/pw.restic
- #######
- passw0rd
- #######
- # MAIN SCRIPT
- #######
- #!/usr/bin/env bash
- # This script is to backup with restic to b2
- # Exit on failure or pipefail
- set -e -o pipefail
- BACKUP_TAG=rundeck-restic
- # How many backups to keep.
- RETENTION_DAYS=14
- RETENTION_WEEKS=16
- RETENTION_MONTHS=18
- RETENTION_YEARS=3
- source /usr/local/etc/restic-env.sh
- echo "To backup: $BACKUP_PATHS"
- # Remove locks in case other stale processes kept them in
- restic unlock &
- wait $!
- #Do the backup
- restic backup \
- --verbose \
- --tag $BACKUP_TAG \
- $BACKUP_PATHS \
- $EXCLUDES &
- wait $!
- # Remove old Backups
- restic forget \
- --verbose \
- --tag $BACKUP_TAG \
- --prune \
- --keep-daily $RETENTION_DAYS \
- --keep-weekly $RETENTION_WEEKS \
- --keep-monthly $RETENTION_MONTHS \
- --keep-yearly $RETENTION_YEARS &
- wait $!
- # Check if everything is fine
- restic check &
- wait $!
- echo "Backup done!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement