From d9d76072b30829992429a14f7454b3543a6ddb3f Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Tue, 14 Mar 2023 19:17:15 -0700 Subject: changed gitbackup implementation to be much more effiicent --- backupz/gitbackup | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'backupz') diff --git a/backupz/gitbackup b/backupz/gitbackup index 7ddce88..88e5db2 100755 --- a/backupz/gitbackup +++ b/backupz/gitbackup @@ -1,20 +1,18 @@ #!/bin/sh -CDIR=/tmp/backupz-gitbackup.commands -REMOTE=covalent.aberrantflux.xyz -rm $CDIR +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") - echo "mkdir -p /srv/backup/git/new/$DNAME /srv/backup/git/old/$DNAME" >> $CDIR + mkdir -p /tmp/backupz-gitbackup/"$DNAME" 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 + git clone --mirror $REPO "$TEMPDIR"/"$DNAME"/"$RNAME" done done -echo "wrote commands" -cat $CDIR | ssh $REMOTE -rm $CDIR -echo "sent commands & finished clean-up" + +echo "syncing to remote" +rsync -az --delete $TEMPDIR/* $REMOTEDIR/ +echo "cleaning up" +rm -rf $TEMPDIR -- cgit v1.3.1