Backup complet de votre blog WordPress

Date: 29/04/2009 | Catégories: Blog,Open-source | Tags: ,,

J'imagine que vous faites des sauvegardes régulières de votre blog... Si ce n'est pas le cas, voici la méthode que j'utilise pour sauvegarder mon bébé.

Un blog WordPress est composé d'une base de donnée (SQL) et d'un ensemble de fichiers stockés sur un serveur (HTTP/FTP). Il faut donc penser à sauvegarder ces deux éléments.

Sauvegarde de la base de donnée

Le plus simple est d'utiliser le plugins WordPress DB Backup disponible ici. Il suffit ensuite de selectionner les tables à sauvegarder (le plus simple est de toutes les sélectionner) et de programmer backup automatique (toutes les heures, jours ou semaines). Le backup peut être stocké directement sur votre serveur (un peu risqué si celui-ci plante) ou envoyé sous la forme
d'une archive Sql.Gz sur une adresse mail.

Sauvegarde des fichiers

J'utilise un méthode automatique pour effectuer cette sauvegarde (sur ma machine Linux Ubuntu).

Après avoir installé l'utilitaire lftp (le meilleur client FTP en ligne de commande):

sudo apt-get install lftp

J'utilise la commande suivante:

lftp -f blog.lftp

Avec comme fichier blog.lftp:

[shell]

set ftp:list-options -a
set cmd:fail-exit true
set ftp:ssl-allow false
set ftp:passive-mode on
set net:timeout 10
set net:max-retries 2
set net:reconnect-interval-base 5
set net:reconnect-interval-multiplier 1

open -p 21 logindublog:passworddublog@ftpdublog.com
lcd ~/backup/blog/
mirror -e -x public_html/blog/avatars/

quit

[/shell]

Cette commande va:

  1. Ouvrir une connection FTP vers mon serveur ftpdublog.com en utilisant le login logindublog et le mot de passe passworddublog
  2. Faire un mirroir du répertoire /blog de mon serveur vers le répertoire local ~/backup/blog/ (à créer)
  3. Lors du mirroir, on supprime du répertoire local les fichiers qui n'existent plus sur le serveur
  4. On ne backup pas les avatars qui sont dans le répertoire public_html/blog/avatars/

La première sauvegarde risque de prendre un bon bout de temps (surtout si votre blog date un peu). Mais en suite, comme seul le différentiel entre votre serveur et votre répertoire local sera transféré cela ira beaucoup plus vite.

Pour automatiser le lancement de cette commande tout les jours à 1 heure du matin:

# crontab -e

1 0 * * * /usr/bin/lftp -f blog.lftp > /dev/null 2>&1

Et voila, vous pouvez attendre le crach de votre serveur hébergé de manière plus sereine...

  • Bonjour,

    La méthode pour la sauvegarde des fichiers m’interesse mais au lieu de l’envoyer sur mon pc, j’aimerais l’envoyer par mail sur mon compte Gmail…possible? Sinon effectuer le backup chaque semaine au boot de la machine si à l’heure définie dans le crontab, le pc etait éteint…

    Un grand merci d’avance 😉

  • @Pfff: Pour envoyer l’archive de tes fichiers vers une boite de messagerie rien de plus simple.

    Tu édites un script shell:

    #!/bin/sh
    /usr/bin/lftp -c ‘open -e « mirror -e -x avatars/ /blog /home/nicolargo/backup/ » ftp://logindublog:passworddublog@ftpdublog.com
    /bin/tar zcvf blog.tar.gz /home/nicolargo/backup/blog/
    /usr/bin/sendEmail -a ./blog.tar.gz -u « Titre » -m « Corps » -s mail.tondomaine.com -f source@tondomaine.com -t destination@undomaine.com

    Pour le crontab du backup, tu peux le lancer tout les jours à une heure ou tu es sur que ton PC est allumé…

  • Clément

    Salut à tous,

    Je suis en train de monter un serveur FAMP pour y héberger un WordPress, j’ai besoin de faire des sauvegardes et j’ai besoin de conseils.

    Ça me dérange un peu de faire transiter quasiment en clair le fichier wp-config.php sur mon réseau lors de la sauvegarde car il contient des données sensibles.

    Vous conseillez quoi ? Outrepasser la sauvegarde du fichier wp-confi.php ? une solution de chiffrage ? Autre chose ?

    Merci pour votre article 😀 et votre blog en génaral

  • @Clément: SCP ou SFTP permette de sécuriser les backups.

  • Clément

    Ah oui je n’y avait pas pensé, je m’étais dis que LFTP était insispensable pour ce genre de manipulation.

    Merci Nico 😉

  • santos

    comment restaurer la base avec le fichier?

  • merci pour le partage, sinon après le backup et le crash du serveur, quecequ’on fait avec le fichier sql qu’on a pour récuperer le blog ?

  • wil

    bonjour

    je voudrais savoir si on peut utilisé un autre serveur ftp comme filezilla?

    si oui comment faire merci

    • @wil: sans problème pour l’utilisation d’un autre serveur FTP. Sur quel OS es tu ?

  • wil

    Merci

    Je suis sous seven 64 bit

    Pour aller plus vite j’ai efface la Bdd et les fichier wordpress sur serveur ftp a cause de médicament qu’y donc jeté Stone et je veux pas refaire la même connerie 2 fois

  • @wil: Seven ? Médicament ? Stone ?

  • wil

    bonjour

    Seven c’est pour L’os de microsoft , médicament car je suis handicapé et stone (les effet des medicament

    Si tu veut je te parlerai plus en privé