Skip to content

Instantly share code, notes, and snippets.

@zekroTJA
Created March 26, 2023 11:28
Show Gist options
  • Save zekroTJA/ad14bfbfe9d736d4e41c18eb87da0cf8 to your computer and use it in GitHub Desktop.
Save zekroTJA/ad14bfbfe9d736d4e41c18eb87da0cf8 to your computer and use it in GitHub Desktop.
VaultWarden backup script
#!/bin/bash
DATA_DIR="<BITWARDEN DATA PATH>"
REPO_URL="git@github.com:<REPO>"
BRANCH="main"
TMP_DIR="/tmp/vault_backup"
export GIT_AUTHOR_NAME="vault_backup"
export GIT_AUTHOR_EMAIL="vault_backup@example.com"
# ----------------------------------------------------
function gitc {
git -C $TMP_DIR $@
}
set -ex
[ -d $TMP_DIR ] && rm -rf $TMP_DIR
[ ! -d $TMP_DIR ] && mkdir -p $TMP_DIR
gitc init
gitc checkout -b $BRANCH
gitc remote add origin $REPO_URL
gitc pull origin $BRANCH || true
tar czf $TMP_DIR/data.tar.gz -C $DATA_DIR .
gitc add data.tar.gz
gitc commit -m "update-backup"
gitc push origin $BRANCH
rm -rf $TMP_DIR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment