#!/bin/sh CDIR=/tmp/backupz-gitbackup.commands REMOTE=covalent.aberrantflux.xyz rm $CDIR for DIR in /srv/git/public /srv/git/private ; do DNAME=$(basename "$DIR") echo "mkdir -p /srv/backup/git/new/$DNAME /srv/backup/git/old/$DNAME" >> $CDIR for REPO in "$DIR"/*.git ; do RNAME=$(basename "$REPO") echo "backing up $DNAME repo $RNAME" SRC=root@canonical.aberrantflux.xyz:$REPO TDEST=/srv/backup/git/new/$DNAME/$RNAME FDEST=/srv/backup/git/old/$DNAME/$RNAME echo "rm -rf $FDEST ; mv $TDEST $FDEST ; git clone --mirror $SRC $TDEST" >> $CDIR done done echo "wrote commands" cat $CDIR | ssh $REMOTE rm $CDIR echo "sent commands & finished clean-up"