diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2023-03-14 19:17:15 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2023-03-14 19:17:15 -0700 |
| commit | d9d76072b30829992429a14f7454b3543a6ddb3f (patch) | |
| tree | 511991d863b09d851a41b9ac92cd22ce659e8e16 | |
| parent | d25bfbc4b61da3e905750ae9eb70b5c8983135be (diff) | |
changed gitbackup implementation to be much more effiicent
| -rwxr-xr-x | backupz/gitbackup | 22 |
1 files changed, 10 insertions, 12 deletions
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 |
