home · contact · privacy
Fix.
[config] / buster / setup_scripts / restore_app.sh
index 363a5f6edb4c859d7e81532ee317322b3a1fc270..817c07d1a062988c597184af43dbb921abf2236e 100755 (executable)
@@ -6,26 +6,30 @@ if [ "$#" -lt 2 ]; then
     echo 'Need two arguments: service name and DB name.'
     false
 fi
-if [ ! "$1" = "pleroma_otp" ] && [ ! "$1" = "pleroma_sourc" ] && [ ! "$1" = "peertube" ]; then
+if [ ! "$1" = "pleroma_otp" ] && [ ! "$1" = "pleroma_source" ] && [ ! "$1" = "peertube" ]; then
     echo "Need legal service name (pleroma_otp or pleroma_source or peertube)."
     false
 fi
 app="$1"
 db_name="$2"
+service="$1"
+if [ "${app}" = "pleroma_source" ] || [ "${app}" = "pleroma_otp" ]; then
+    service=pleroma
+fi
 
-service "${app}" stop
+service "${service}" stop
 
-mv "/home/plom/${app}_backup.tar" /tmp/
+mv "/home/plom/${service}_backup.tar" /tmp/
 cd /tmp
-tar xf "${app}_backup.tar"
+tar xf "${service}_backup.tar"
 
-su postgres -c "pg_restore -c -1 -d ${db_name} ${app}_backup/${db_name}.pgdump"
-rm "${app}_backup/${db_name}.pgdump"
+su postgres -c "pg_restore -c -1 -d ${db_name} ${service}_backup/${db_name}.pgdump"
+rm "${service}_backup/${db_name}.pgdump"
 
-cd "${app}_backup"
+cd "${service}_backup"
 for path in $(find . -type f); do
     if [ "${app}" = "pleroma_source" ]; then
-        if [ "${path}" = '/opt/pleroma/config/prod.secret.exs' ]; then
+        if [ "${path}" = './opt/pleroma/config/prod.secret.exs' ]; then
             continue  # skip file that contains passwords
         fi
     fi
@@ -42,6 +46,8 @@ if [ "${app}" = "pleroma_otp" ]; then
 elif [ "${app}" = "peertube" ]; then
     db_pw=$(cat /var/www/peertube/config/production.yaml | grep password | head -1 | sed "s/[ ]*password\: *//g" | sed "s/'//g")
 fi
-su postgres -lc "psql -c \"ALTER USER ${app} WITH PASSWORD '${db_pw}';\""
+if [ "${app}" = "pleroma_otp" ] || [ "${app}" = "peertube" ]; then
+    su postgres -lc "psql -c \"ALTER USER ${service} WITH PASSWORD '${db_pw}';\""
+fi
 
-service "${app}" start
+service "${service}" start