Wie man den gesamten Ordner /var/discourse sichert und wiederherstellt?
Aufgrund von Problemen mit dem üblichen Sicherungs- und Wiederherstellungsprozess habe ich mich gefragt, ob ich den gesamten Ordner /var/discourse sichern und auf einem anderen Server wiederverwenden könnte. So habe ich es gemacht…
Auf dem Produktionsserver:
rsync_opts="\
--recursive \
--links \
--hard-links \
--safe-links \
--owner \
--group \
--perms \
--times \
--delete \
--sparse \
--compress \
--partial \
--rsh=ssh
"
dir=/var/discourse
rsync $rsync_opts "$dir/" root@xx.xx.xx.xx:"/var/production-backup/$dir"
Auf dem Staging-Server:
Docker installieren.
rsync --recursive --links --hard-links --safe-links --owner --group --perms --times --delete --sparse --compress --partial /var/production-backup/var/discourse/ /var/discourse
Aber es erscheint 502 Bad Gateway.
Ich versuche, dem auf den Grund zu gehen.
cd /var/discourse
./launcher start app
root@whonix-app:/var/www/discourse# service postgresql status
12/main (port 5432): down
root@whonix-app:/var/www/discourse# service postgresql start
[....] Starting PostgreSQL 12 database server: main[....] Error: The cluster is owned [FAILoup id 116 which does not exist ... failed!
failed!
Vermutlich einige Fixes:
chown -R postgres.postgres /etc/postgresql
chown -R postgres.postgres /shared/postgres_*
chown -R postgres.postgres /var/lib/postgresql
chown -R postgres.postgres /var/log/postgresql
chown -R redis.redis /etc/redis/redis.conf
chown -R redis.redis /shared/redis_data
chown -R redis.redis /var/run/redis
chown -R redis.redis /var/lib/redis
chown -R redis.redis /var/log/redis
chgrp -R ssl-cert /etc/ssl/private
Aber das hat nicht geholfen.
root@whonix-app:/var/www/discourse# service postgresql start
[....] Starting PostgreSQL 12 database server: main[....] Error: /usr/lib/postgresql/12/bin/pg_ctl /usr/lib/postgresql/12/bin/pg_ctl start -D /shared/postgres_data -l /var/log/postgresql/postgresql-12-main.log -s -o -c config_file="/etc/postgresql/12/main/postgresql.conf" exited with status 1: 2020-05-25 10:20:10.501 UTC [603] FATAL: database files are incompatible with server 2020-05-25 10:20:10.501 UTC [603] DETAIL: The data directory was initialized by PostgreSQL version 10, which is not compatible with this version 12.2 (Debian 12.2-2.pgdg100+1). pg_ctl: could not start server Examine the lo[FAILput. ... failed!
failed!
Warum werden diese Berechtigungsprobleme bei den Dateien eingeführt?
Warum wird PostgreSQL von Version 10 auf Version 12 aktualisiert, indem man einfach den gesamten Ordner von einem Server auf einen anderen kopiert? Ich muss etwas falsch machen.
Könntet ihr mir bitte Anweisungen geben, wie man die gesamte Discourse-App auf einem Server sichert und auf einen anderen Server verschiebt?