#!/bin/sh REMOTEDIR=root@covalent.aberrantflux.xyz:/mnt/blockstorage/backup/git/ TEMPDIR=/tmp/backupz-gitbackup/ echo "cloning repos" for DIR in /srv/git/public /srv/git/private ; do DNAME=$(basename "$DIR") mkdir -p /tmp/backupz-gitbackup/"$DNAME" for REPO in "$DIR"/*.git ; do RNAME=$(basename "$REPO") echo "backing up $DNAME repo $RNAME" git clone --mirror $REPO "$TEMPDIR"/"$DNAME"/"$RNAME" done done echo "syncing to remote" rsync -az --delete $TEMPDIR/* $REMOTEDIR/ echo "cleaning up" rm -rf $TEMPDIR