summaryrefslogtreecommitdiff
path: root/share/hydractl/backup-restore-git
diff options
context:
space:
mode:
Diffstat (limited to 'share/hydractl/backup-restore-git')
-rwxr-xr-xshare/hydractl/backup-restore-git41
1 files changed, 41 insertions, 0 deletions
diff --git a/share/hydractl/backup-restore-git b/share/hydractl/backup-restore-git
new file mode 100755
index 0000000..928f357
--- /dev/null
+++ b/share/hydractl/backup-restore-git
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Gitosis backup restoration.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Load.
+source $APP_BASE/lib/hydra/functions || exit 1
+hydra_config_load
+
+# Parameters.
+HOST="$1"
+SERVICE="git"
+SERVICE_DIR="/var/git"
+SERVICE_USER="gitosis"
+SERVICE_GROUP="gitosis"
+
+# Set restore environment.
+hydra_backup_environment_service
+
+# Backup it.
+# TODO: directly at hydra_backup_environment_service
+hydractl backup-site git
+
+# Copy site folder from backup.
+cp -a $RESTOREDIR/$SERVICE_DIR $SERVICE_DIR
+
+# Fix permissions.
+chown -R $GIT_USER.$GIT_GROUP $SERVICE_DIR