diff options
| -rwxr-xr-x | shs/backupz/gitbackup | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shs/backupz/gitbackup b/shs/backupz/gitbackup new file mode 100755 index 0000000..7ddce88 --- /dev/null +++ b/shs/backupz/gitbackup @@ -0,0 +1,20 @@ +#!/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" |
