home
·
contact
·
privacy
projects
/
config
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix.
[config]
/
buster
/
setup_scripts
/
restore_app.sh
diff --git
a/buster/setup_scripts/restore_app.sh
b/buster/setup_scripts/restore_app.sh
index cb307883bcebd7275395878c29c8c2085c51f052..8850fe6683451f83f97dc7ac7baa442cc3bfddbc 100755
(executable)
--- a/
buster/setup_scripts/restore_app.sh
+++ b/
buster/setup_scripts/restore_app.sh
@@
-6,24
+6,33
@@
if [ "$#" -lt 2 ]; then
echo 'Need two arguments: service name and DB name.'
false
fi
echo 'Need two arguments: service name and DB name.'
false
fi
-if [ ! "$1" = "pleroma" ] && [ ! "$1" = "peertube" ]; then
- echo "Need legal service name (pleroma or peertube)."
+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"
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
cd /tmp
-tar xf "${
app
}_backup.tar"
+tar xf "${
service
}_backup.tar"
-su postgres -c "pg_restore -c -
C -d ${db_name} -1 ${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"
-for path in $/find . -type f); do
+cd "${service}_backup"
+for path in $(find . -type f); do
+ if [ "${app}" = "pleroma_source" ]; then
+ if [ "${path}" = '/opt/pleroma/config/prod.secret.exs' ]; then
+ continue # skip file that contains passwords
+ fi
+ fi
target_path=$(echo "${path}" | cut -c2-)
source_path=$(realpath "${path}")
dir=$(dirname "${target_path}")
target_path=$(echo "${path}" | cut -c2-)
source_path=$(realpath "${path}")
dir=$(dirname "${target_path}")
@@
-32,11
+41,13
@@
for path in $/find . -type f); do
done
# TODO: Horrible hack, improve.
done
# TODO: Horrible hack, improve.
-if [ "${app}" = "pleroma" ]; then
+if [ "${app}" = "pleroma
_otp
" ]; then
db_pw=$(cat /etc/pleroma/config.exs | grep password | sed 's/[ ]*password\: *//g' | sed 's/,//g' | sed 's/"//g')
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
db_pw=$(cat /etc/pleroma/config.exs | grep password | sed 's/[ ]*password\: *//g' | sed 's/,//g' | sed 's/"//g')
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}" stop
+service "${
service}" start