Introduction

La PLM a fait un nouveau template avec un certain nombre de plugins de base vous assurant un minimum de sécurité. Nous avons paramétré un plugin pour gérer automatiquement et quotidiennement un backup des fichiers et de votre base de données de votre site. Le plugin que nous avons choisi est backwpup. La version freemium n'inclut pas de restauration de vos sauvegardes. Néanmoins, nous vous proposons de suivre la procédure ci-dessous afin de vous permettre d'éffectuer vous-même la restauration de votre site. Il est de votre choix de suivre notre procédure ou d'acheter une licence pour backwpup afin de jouir de leur fonctionnalité de restauration.

Prés-requis

Il vous faut installer ces outils sur votre poste afin de procéder à la restauration des sauvergardes :

  • oc pour réaliser des connexions aux conteneurs wordpress. Voici la procédure d'installation.
  • unzip pour dézipper les sauvegardes générées par le plugin

Localisation des sauvegardes

Nous avons paramétré un PVC dédié pour la récupération de vos sauvegardes. Dans le pod de votre site, ces sauvegardes sont accessibles au chemin suivant : /opt/app-root/src/wp-content/uploads/backwpup/daily-backup/. L'intérêt de ce plugin de backup est qu'il permet de rajouter d'autres destinations à vos sauvegardes. Pour plus d'information, veuillez consulter la documentation officielle

Récupération du fichier de sauvegarde

Vous avez deux moyens pour récupérer un fichier de sauvegarde.

  1. Via le backoffice de worpdress :

Il suffit d'aller à l'URL suivant : [RACINE_DE_VOTRE_SITE]/wp-admin/admin.php?page=backwpupbackups Vous verrez la liste des backups disponible : Il vous suffit de cliquer sur le bouton Download pour télécharger le zip de votre sauvegarde.

  1. En ligne de commande :

Après vous être logué via l'outil oc, vous pourrez alors lancer les commandes suivantes pour récupérer vos sauvegardes

  • Assurez-vous d'être sur votre projet worpdress (remplacer test-new-wordpress par le nom de votre projet) oc project test-new-wordpress

  • Si vous ne connaissez pas le nom de votre fichier de sauvegarde, il vous faut d'abord le chercher. Pour cela, connectez-vous au pod avec la commande suivante : oc get pods Cela va vous afficher les informations suivantes :

NAME                                    READY   STATUS      RESTARTS   AGE
my-wordpress-site-1-build               0/1     Completed   0          4d23h
my-wordpress-site-2-build               0/1     Completed   0          25h
my-wordpress-site-7577fddcc7-x5fsv      1/1     Running     0          25h
my-wordpress-site-db-76f76f4d77-s9287   1/1     Running     0          4d23h
  • choisissez le pod qui contient votre site, dans l'exemple ci-dessus, c'est my-wordpress-site-7577fddcc7-x5fsv Pour le reconnaître, son nom contient le nom de votre projet suivi de site et une suite de caractères aléatoire. Son statut doit être Running.
oc rsh my-wordpress-site-7577fddcc7-x5fsv

# Accédez au dossier contenant vos sauvegardes
sh-5.1$ cd /opt/app-root/src/wp-content/uploads/backwpup/daily-backup/
# lancez cette commande pour afficher les sauvegardes disponibles avec leurs dates:
sh-5.1$ ls -aslh
total 208M
4.0K drwxrwsr-x. 2 1003870000 1003870000 4.0K May 21 13:05 .
4.0K drwxrwsr-x. 5 root       1003870000 4.0K May 16 14:11 ..
4.0K -rw-rw-r--. 1 1003870000 1003870000   78 May 16 14:11 .donotbackup
4.0K -rw-rw-r--. 1 1003870000 1003870000  221 May 16 14:11 .htaccess
 35M -rw-rw-r--. 1 1003870000 1003870000  35M May 16 14:11 2024-05-16_14-11-22_4753NPEJ01.zip
 35M -rw-rw-r--. 1 1003870000 1003870000  35M May 17 04:06 2024-05-17_04-06-09_W353NPEQ01.zip
 35M -rw-rw-r--. 1 1003870000 1003870000  35M May 18 05:27 2024-05-18_05-26-55_WP53NPF401.zip
 35M -rw-rw-r--. 1 1003870000 1003870000  35M May 19 05:31 2024-05-19_05-31-08_4753NPGR01.zip
 35M -rw-rw-r--. 1 1003870000 1003870000  35M May 20 05:20 2024-05-20_05-20-41_HH53NPGT01.zip
 35M -rw-r--r--. 1 1003870000 1003870000  35M May 21 13:05 2024-05-21_13-05-09_GH53NPHG01.zip
4.0K -rw-rw-r--. 1 1003870000 1003870000   99 May 16 14:11 index.php
  • Une fois que vous connaissez le nom de votre fichier de sauvegarde, quitter la connexion pour utiliser l'outil pour récupérer le fichier sur votre machine:
#lancer la commande pour quitter le pod 
exit
#puis lancer la commande pour récupérer le fichier:
oc rsync my-wordpress-site-7577fddcc7-x5fsv:/opt/app-root/src/wp-content/uploads/backwpup/daily-backup/2024-05-16_14-11-22_4753NPEJ01.zip .

Ainsi, vous avez récupéré votre fichier de sauvegarde, vous pouvez alors passer à la restauration de votre sauvegarde.

Restauration d'un point de sauvegarde

La restauration se procède en deux temps :

  • restauration des fichiers de votre site (images, style css, plugins ...)
  • restauration de votre base de données

Restauration des fichiers de votre site

Dézipper le fichier de sauvegarde Exemple avec OS Linux :

unzip 2024-05-16_14-11-22_4753NPEJ01.zip -d backup_20240516
cd backup_20240516/
ll
total 1,3M
-rw-rw-rw-  1 nicolas nicolas  226 mai   16 14:11 backwpup_readme.txt
-rw-rw-rw-  1 nicolas nicolas  405 mai   16 14:11 index.php
-rw-rw-rw-  1 nicolas nicolas  20K mai   16 14:11 license.txt
drwxrwxrwx  2 nicolas nicolas 4,0K mai   16 14:11 lost+found
-rw-rw-rw-  1 nicolas nicolas 2,0K mai   16 14:11 manifest.json
-rw-rw-rw-  1 nicolas nicolas  802 mai   16 14:11 my-wordpress-site.pluginlist.2024-05-16.txt
drwxrwxr-x  3 nicolas nicolas 4,0K mai   21 15:32 opt
-rw-rw-rw-  1 nicolas nicolas 7,3K mai   16 14:11 readme.html
-rw-rw-rw-  1 nicolas nicolas 1,1M mai   16 14:11 wordpress.sql
-rw-rw-rw-  1 nicolas nicolas 7,3K mai   16 14:11 wp-activate.php
drwxrwxr-x  9 nicolas nicolas 4,0K mai   21 15:32 wp-admin
-rw-rw-rw-  1 nicolas nicolas  351 mai   16 14:11 wp-blog-header.php
-rw-rw-rw-  1 nicolas nicolas 2,3K mai   16 14:11 wp-comments-post.php
-rw-rw-rw-  1 nicolas nicolas 3,3K mai   16 14:11 wp-config.php
-rw-rw-rw-  1 nicolas nicolas 3,0K mai   16 14:11 wp-config-sample.php
drwxrwxr-x  5 nicolas nicolas 4,0K mai   21 15:32 wp-content
-rw-rw-rw-  1 nicolas nicolas 5,6K mai   16 14:11 wp-cron.php
drwxrwxr-x 30 nicolas nicolas  12K mai   21 15:32 wp-includes
-rw-rw-rw-  1 nicolas nicolas 2,5K mai   16 14:11 wp-links-opml.php
-rw-rw-rw-  1 nicolas nicolas 3,9K mai   16 14:11 wp-load.php
-rw-rw-rw-  1 nicolas nicolas  50K mai   16 14:11 wp-login.php
-rw-rw-rw-  1 nicolas nicolas 8,4K mai   16 14:11 wp-mail.php
-rw-rw-rw-  1 nicolas nicolas  28K mai   16 14:11 wp-settings.php
-rw-rw-rw-  1 nicolas nicolas  34K mai   16 14:11 wp-signup.php
-rw-rw-rw-  1 nicolas nicolas 4,8K mai   16 14:11 wp-trackback.php
-rw-rw-rw-  1 nicolas nicolas 3,2K mai   16 14:11 xmlrpc.php

Restauration des fichiers de votre site

Avec la commande oc, envoyer les fichiers vers le pod de votre site :

# remplacer `my-wordpress-site-7577fddcc7-x5fsv` par le nom de votre pod
oc rsync --exclude='wordpress.sql' --exclude='backwpup_readme.txt' --exclude='manifest.json' --exclude='lost+found' --no-perms . my-wordpress-site-7577fddcc7-x5fsv:/opt/app-root/src/

Restauration de la base de données

Lancez les commandes suivantes :

# rsync de oc synchronise uniquement des dossiers. Il faut donc déplacer le fichier sql dans un dossier à part.
mkdir database
mv wordpress.sql database/
# envoyer le dossier sur le pod de la database
oc rsync --no-perms ./database my-wordpress-site-db-76f76f4d77-s9287:/tmp
# Puis lancer la commande de restore après vous êtes connecter au pod de la base de données
oc rsh my-wordpress-site-db-76f76f4d77-s9287
mysql -u $MYSQL_USER -p${MYSQL_PASSWORD} wordpress < /tmp/database/wordpress.sql
Enter password: #taper simplement entrer. Ne pas saisir de mot de passe !

#et quitter votre pod
exit

Ainsi, la restauration de votre point de sauvegarde est terminée !