Sommaire
Sauvegarde
Faire une copie de la base de données et la transférer sur le PC de sauvegarde
Depuis le serveur qui contient le site : on extrait la base de donnéesmysqldump -u user_name -p database_name > /home/toto/database_backup.sql
Depuis le PC de sauvegarde : on récupère la base de données extraitescp -P portSSH serveur_user@IP_serveur:/home/toto/database_backup.sql /home/PC_user/
Faire une copie du dossier qui contient le site et la transférer sur le PC de sauvegarde
C’est par exemple le dossier /var/www/monsite , celui qui contient tous les fichiers du site wordpress (wp-content,wp-admin,wp-includes,fichiers php etc…)scp -P portSSH -r serveur_user@IP_serveur:/var/www/monsite /home/PC_user/
Restauration
Restaurer la base de donnée (en supposant qu’elle n’existe plus)
On commence par créer une base de données vide portant le même nom que celle disparue : create database database_name;
On transfère ensuite notre sauvegarde de la base de données du PC sauvegarde vers le serveur web :scp -P portSSH /home/PC_user/database_backup.sql serveur_user@IP_serveur:/home/toto/database_backup.sql
Et enfin, on rempli notre base de données vierge avec notre backup : mysql -u user_name -p database_name < database_backup.sql
(user_name est l’utilisateur initial de la base de données, le mot de passe demandé est le sien)
Restaurer le dossier monsite
On transfère le dossier monsite du PC sauvegarde vers le serveur dans le dossier /var/www/scp -P portSSH -r /home/PC_user/monsite serveur_user@IP_serveur:/var/www/
Lors de l’execution de la commande ci-dessus, on obtient un message d’erreur « scp:stat remote:No such file or directory » ou « permission denied »; 2 solutions :
Solution 1 : Sur le PC sauvegarde, il faut modifier le propriétaire du dossier monsite : le remplacer par l’utilisateur principal du serveur (serveur_user)
Il faut donc sur le PC sauvegarde créer cet utilisateur : sudo adduser serveur_user
et le définir comme propriétaire du dossier monsite : sudo chown serveur_user:serveur_user monsite -R
Puis sur le serveur, il faut créer un dossier monsite dans /var/www et le faire appartenir à serveur_user : sudo mkdir monsite
et sudo chown serveur_user:serveur_user monsite
On relance la commande scp -P portSSH -r /home/PC_user/monsite serveur_user@IP_serveur:/var/www/
et la copie sur le serveur s’effectue correctement (un peu long, faire le test avec rsync au lieu de scp )
Solution 2 (plus rapide) : on copie d’abord le fichier dans le repertoire distant /home/serveur_user et on le déplace ensuite dans le dossier /var/www
Une fois la copie effectuée sur le serveur, on change le propriétaire du dossier monsite : sudo chown www-data:www-data * -R
(www-data est l’utilisateur apache)