summaryrefslogtreecommitdiff
path: root/shs
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2023-03-13 02:34:44 -0700
committerKai Stevenson <kai@kaistevenson.com>2023-03-13 02:34:44 -0700
commitaca46379f7bbe5d7aa084175b3ad7efe7665c7c3 (patch)
tree23a3e40cd8ab8366b00938cf693d9998805ea0a1 /shs
parent25cdfd138ae633570d6416b6faaccae62040b3fa (diff)
git backup script
Diffstat (limited to 'shs')
-rwxr-xr-xshs/backupz/gitbackup20
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"