Come eseguire il backup e il ripristino dell’intera cartella /var/discourse?
A causa di problemi con il processo abituale di backup e ripristino, mi chiedevo se fosse possibile eseguire il backup dell’intera cartella /var/discourse e riutilizzarla su un altro server. Ecco cosa ho fatto…
Sul server di produzione:
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"
Sul server di staging:
Installa Docker.
rsync --recursive --links --hard-links --safe-links --owner --group --perms --times --delete --sparse --compress --partial /var/production-backup/var/discourse/ /var/discourse
Ma ricevo 502 Bad Gateway.
Sto cercando di indagare.
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
[....] Avvio del server di database PostgreSQL 12: main[....] Errore: Il cluster è di proprietà [FAIL] dell'utente 116 che non esiste ... fallito!
fallito!
Provo alcune correzioni:
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
Ma non hanno funzionato.
root@whonix-app:/var/www/discourse# service postgresql start
[....] Avvio del server di database PostgreSQL 12: main[....] Errore: /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" è uscito con stato 1: 2020-05-25 10:20:10.501 UTC [603] FATAL: i file del database sono incompatibili con il server 2020-05-25 10:20:10.501 UTC [603] DETAIL: La directory dei dati è stata inizializzata con PostgreSQL versione 10, che non è compatibile con questa versione 12.2 (Debian 12.2-2.pgdg100+1). pg_ctl: impossibile avviare il server. Esaminare l'output del log. ... fallito!
fallito!
Perché sono stati introdotti questi problemi di permessi sui file?
Perché PostgreSQL viene aggiornato dalla versione 10 alla versione 12 semplicemente copiando l’intera cartella da un server all’altro? Devo stare facendo qualcosa di sbagliato.
Potreste gentilmente condividere le istruzioni su come eseguire il backup dell’intera applicazione Discourse su un server e spostarla su un altro server?