Outils pour utilisateurs

Outils du site


amipo_documentation_backup

Ceci est une ancienne révision du document !


Documentation des Backup AMIPO

Todo Dump

  • Changer le schema de nextcloud (ne pas laisser dans public)
  • Ne dumper que le schema nextcloud
  • Dumper le schema au format text et les data au format custom ?
  • Changer le tar : faire un cd avant le tar pour ne pas archiver les chemins absolus
set search_path to public,nextcloud;
alter schema public rename to nextcloud;
create schema public;
alter role nextcloud set search_path to nextcloud;
pg_dump --username=nextcloud_backup -d nextcloud -h localhost --schema-only -n nextcloud | gzip > $BACKUP_DIR/schema-nextcloud-dump.psql.gz
pg_dump --username=nextcloud_backup -d nextcloud -h localhost --data-only -n nextcloud -Fc > $BACKUP_DIR/data-nextcloud-dump.custom

Restauration d'un backup

Création de la BD dans lequel sera effectué la restauration

create role restore_user;
alter role restore_user encrypted password 'foo';
alter role restore_user login;
 
alter role restore_user set search_path to nextcloud;
create database restore_nextcloud;
\c restore_nextcloud;
create schema nextcloud;
grant usage on schema nextcloud to restore_user;
grant all on all tables in schema nextcloud to restore_user;
grant all on all sequences in schema nextcloud to restore_user;

Restauration de la BD

sudo mkdir /var/restore
sudo chown max:max /var/restore
cd /var/restore
sudo chown -R max:max *
sudo tar -xzf /backups/nextcloud/latest
sudo chown www-data:www-data /var/restore/.../nextcloud/data
psql -U restore_user -h localhost -d restore_nextcloud -c "show search_path;"
 
zcat schema-nextcloud-dump.psql.gz | sudo -u postgres -s psql -d restore_nextcloud
sudo -u postgres -s pg_restore -d restore_nextcloud data-nextcloud-dump.custom

Duplication de l'app nextcloud

sudo cp -ar /var/www/nuage/ /var/www/restore_nuage

Edition du fichier /var/www/restore_nuage/config/config.php pour se connecter la BD:

'datadirectory' => '/var/restore/.../nextcloud/data',
'overwrite.cli.url' => 'https://amipo.fr/restore_nuage',
'dbname' => 'restore_nextcloud',
'dbuser' => 'restore_nextcloud',
'dbpassword' => '***',

Ajouter un cronjob

sudo mkdir -p /var/log/restore_nextcloud/
sudo chown root:www-data /var/log/restore_nextcloud/
sudo chmod 0660 /var/log/restore_nextcloud/
sudo crontab -e -u www-data
*/5  *  *  *  * php -f /var/www/restore_nuage/cron.php 2>&1 /var/log/restore_nextcloud/cron.log

Config Nginx

sudo cp /etc/nginc/nextcloud.conf /etc/nginc/restore_nextcloud.conf Remplacement de /nuage par /restore_nuage dans ce nouveau fichier. Ajout dans /etc/nginx/sites-available/amipo.fr de include /etc/nginx/restore-nextcloud.conf;

amipo_documentation_backup.1579063722.txt.gz · Dernière modification: 2020/01/15 05:48 de bigMax