#! /bin/bash backup_local(){ # external program to supply the passphrase: export BORG_PASSCOMMAND="pass show $1" # repo pass first arg # Create Local Backups echo $( date ) "Creating Local Backups ..." REPOSITORY=$2 # repo vault path second arg shift 2 # consume the first 2 arguments borg create --list --filter AME --stats --compression=lz4 \ --progress \ --exclude '*.pyc' \ --exclude '*/.mypy_cache/' \ --exclude '*/venv/' \ --exclude '*/.tox/' \ --exclude '*/node_modules' \ --exclude '*/js/compiled' \ --exclude '*/target' \ --exclude '*/dist-newstyle' \ --exclude '*/.notmuch' \ --exclude '*/mpd/log' \ --exclude '*/elpa' \ --exclude '*.elc' \ --exclude '*/.local/straight' \ $REPOSITORY::'{hostname}-{user}-{utcnow:%Y-%m-%dT%H:%M:%S}' \ $@ # all the dirs to bac # Prune Local Backups echo $( date ) "Pruning local repository ..." borg prune --verbose --stats --list \ --prefix='{hostname}-{user}-' \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6 $REPOSITORY } backup_local borgbackup ssh://backup/media/Backup/daily_backup/ ~/dev/ ~/.mail/ ~/Nextcloud/ ~/org/ ~/src_car/ /media/backup/personal/Pictures/ /media/backup/personal/Libros/ /media/backup/personal/dev/ /media/backup/Archives/ backup_local Admin/sarah/borg/ingrid ssh://borgbackup@173.212.211.30/./repos/ingrid ~/dev/ ~/org/ ~/.mail/ ~/Nextcloud/ backup_local Admin/sarah/borg/oscar ssh://borgbackup@173.212.211.30/./repos/oscar /media/backup/personal/Pictures/ /media/backup/personal/Libros/ /media/backup/personal/dev/ /media/backup/Archives/