home · contact · privacy
Experimental refactor of migration scripts.
[config] / buster / setup_scripts / migrate_app.sh
1 #!/bin/sh
2 set -e
3 set -x
4
5 if [ "$#" -lt 4 ]; then
6     echo 'Need at least four arguments: old server IP, service name, DB name, and backup directory names.'
7     false
8 fi
9 if [ ! "$1" = "pleroma" ] && [ ! "$1" = "peertube" ]; then
10     echo "Need legal service name (pleroma or peertube)."
11     false
12 fi
13 server_ip="$1"
14 app="$2"
15 db_name="$3"
16 shift 3
17
18 config_tree_prefix="${HOME}/config/buster"
19 setup_scripts_dir="${config_tree_prefix}/setup_scripts"
20
21 cd "${setup_scripts_dir}"
22 ./prepare_to_meet_server.sh "${server_ip}"
23 read -p'Hit Enter when you are done.' ignore
24 eval $(ssh-agent) && ssh-add
25 echo 'Enter password for root on target server next.'
26 ssh plom@"${server_ip}" 'su -lc "cd config/buster/setup_scripts && git pull && ./backup_${app}.sh ${app} ${db_name} $@"'
27 scp plom@"${server_ip}":~/${app}_backup.tar /home/plom/${app}_backup.tar
28 ./restore_${app}.sh