ansible/roles/backup_bitbucket/files/backup-bitbucket.sh

24 lines
660 B
Bash

#!/bin/sh
USERS="tmakinen"
set -eu
umask 027
cd /srv/backup/bitbucket.org
for _user in $USERS ; do
curl -sSf "https://api.bitbucket.org/2.0/repositories/${_user}" | \
jq -r '.values | .[] | [.name, .scm] | @tsv' | \
while read -r _repo _scm
do
[ "$_scm" = "git" ] || continue
_url="https://bitbucket.org/${_user}/${_repo}"
_gitdir="${_user}/${_repo}"
if [ ! -d "$_gitdir" ]; then
mkdir -p "$_gitdir"
git --git-dir="$_gitdir" init --quiet --bare
fi
git --git-dir="$_gitdir" fetch --quiet --force --prune --tags "$_url" "refs/heads/*:refs/heads/*"
done
done