summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xshare/hydractl/backup-restore-sites44
1 files changed, 44 insertions, 0 deletions
diff --git a/share/hydractl/backup-restore-sites b/share/hydractl/backup-restore-sites
new file mode 100755
index 0000000..b051337
--- /dev/null
+++ b/share/hydractl/backup-restore-sites
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+# Restore multiple sites.
+#
+# 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
+
+# Basic parameters.
+SERVER="$1"
+
+# Syntax check.
+if [ -z "$SERVER" ]; then
+ hydra_action_usage
+ exit 1
+fi
+
+# Determine sites to copy.
+if [ -z "$2" ]; then
+ sites="`ls /var/sites`"
+else
+ shift
+ sites="$*"
+fi
+
+# Copy each site.
+# TODO: support for other backup locations.
+for site in $sites; do
+ hydractl backup-restore-site backups $SERVER $site
+done