L'instance n'est pas restaurée pendant la migration

Bonjour à tous, J’ai consacré beaucoup d’attention à l’importation de mes vidéos depuis YouTube, j’ai acheté un gros serveur pour les convertir au format souhaité. Après cela, j’ai naturellement décidé de transférer toutes les données sur un serveur plus petit, puisque je n’ai pas besoin de ce type de puissance.

  1. j’ai réinstallé copie
  2. J’ai copié le dossier sur l’ancien serveur /var/www/peertube/config, ngix/sites-available, /var/www/peertube/storage. Base de données utilisant
cd /tmp
sudo -u peertube pg_dump -Fc peertube_prod > /tmp/peertube_prod-dump.db

Nous avons reçu le fichier peertube_prod-dump, ainsi que peertube_prod.sql en utilisant

sudo -i -u postgres
pg_dump -U peertube -W -h localhost peertube_prod > /tmp/peertube_prod.sql

3 Перенес на новый /var/www/peertube/config, ngix/sites-available, /var/www/peertube/storage
J’ai d’abord restauré la base de données et elle n’a renvoyé ni l’utilisateur ni les données.

cd /tmp
sudo -u postgres pg_restore -c -C -d postgres /tmp/peertube_prod-dump.db

Alors comme ça, et le résultat est le même, ni l’utilisateur créé séparément dans le panneau, ni ses vidéos n’apparaissent

sudo -i -u postgres
psql -U peertube -h localhost -d peertube_prod -f /tmp/peertube_prod.sql

S’il vous plaît, aidez-moi, comment puis-je transférer PeerTube correctement, merci

Bonjour,

Est-ce que /tmp/peertube_prod-dump.db contient des données ? Quel est son poids ?

Arrivé! Arrivé! Arrivé!
Mais il y a juste une chose que je n’arrive pas encore à comprendre, à savoir, sur le nouveau système, je fais ça
Je dépose le fichier peertube_prod.dump dans le dossier /tmp, regarde les autorisations et elles sont 655
Снимок экрана_20240531_170451
Mais je ne peux pas faire ça comme ça sur l’ancien système

sudo -u peertube pg_dump -Fc peertube_prod > /tmp/peertube_prod-dump.db
sudo -u postgres pg_restore -c -C -d postgres /tmp/peertube_prod-dump.db
could not change directory to "/root": Permission denied
pg_restore: error: could not open input file "/tmp/peertube_prod-dump.db": No such file or directory

Je n’ai pas accès au fichier, alors je fais ça

cd /tmp
sudo -u peertube pg_dump -Fc peertube_prod > /tmp/peertube_prod-dump.db

Sur le nouveau système, je jette le fichier dans /tmp via FTP et je fais

sudo -u postgres pg_restore -c -C -d postgres /tmp/peertube_prod-dump.db

Et rien ne se passe, juste une sortie vide
Ensuite, je fais ceci, j’importe d’abord le fichier de base de données sur le nouveau système dans /tmp
Pour moi. via FTP vers un fichier de l’ancien, puis je l’importe à nouveau, et c’est exactement ce qui s’est passé). Pourquoi donc?)
Снимок экрана_20240531_165639

Alors j’ai décidé comme ça

#!/bin/bash

# Arrêter le service PeerTube
sudo systemctl stop peertube

# Passer à l'utilisateur Postgres et effectuer une sauvegarde de la base de données
sudo -i -u postgres bash << EOF
pg_dump -Fc peertube_prod > /tmp/peertube_prod-dump.db
EOF

# Redémarrer le service PeerTube
sudo systemctl start peertube

# Подождать 10 секунд
sleep 10

# Vérifier l'état du service PeerTube
sudo systemctl status peertube
#!/bin/bash

# Arrêter le service PeerTube
sudo systemctl stop peertube

# Passer à l'utilisateur Postgres et effectuer la restauration de la base de données
sudo -i -u postgres bash << EOF
pg_restore -d peertube_prod ~/peertube_prod-dump.db
EOF

#Lancement après migration
cd /var/www/peertube/peertube-latest/scripts
sudo -H -u peertube ./upgrade.sh && systemctl start peertube && journalctl -feu peertube