--- /dev/null
+#!/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