home · contact · privacy
Experimental refactor of migration scripts.
[config] / buster / setup_scripts / migrate_app.sh
diff --git a/buster/setup_scripts/migrate_app.sh b/buster/setup_scripts/migrate_app.sh
new file mode 100755 (executable)
index 0000000..c0e1637
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+set -e
+set -x
+
+if [ "$#" -lt 4 ]; then
+    echo 'Need at least four arguments: old server IP, service name, DB name, and backup directory names.'
+    false
+fi
+if [ ! "$1" = "pleroma" ] && [ ! "$1" = "peertube" ]; then
+    echo "Need legal service name (pleroma or peertube)."
+    false
+fi
+server_ip="$1"
+app="$2"
+db_name="$3"
+shift 3
+
+config_tree_prefix="${HOME}/config/buster"
+setup_scripts_dir="${config_tree_prefix}/setup_scripts"
+
+cd "${setup_scripts_dir}"
+./prepare_to_meet_server.sh "${server_ip}"
+read -p'Hit Enter when you are done.' ignore
+eval $(ssh-agent) && ssh-add
+echo 'Enter password for root on target server next.'
+ssh plom@"${server_ip}" 'su -lc "cd config/buster/setup_scripts && git pull && ./backup_${app}.sh ${app} ${db_name} $@"'
+scp plom@"${server_ip}":~/${app}_backup.tar /home/plom/${app}_backup.tar
+./restore_${app}.sh