Sauvegarde automatique de son site Internet

Date: 11/06/2010 | Catégories: Blog,Open-source,Systeme | Tags: ,,,

A moins d'être très joueur (ou fou), la sauvegarde de son site Internet doit être pensée et mise en œuvre dès le début d'un projet. Voici une solution basée sur une solution libre (lftp) qui sera très facile de caser dans une crontab pour automatiser cette tache ingrate.

L'architecture est la suivante:

Il faut disposer:

  • d'un serveur Web avec un accès FTP (ce qui est le plus standard chez les hébergeurs)
  • d'un PC de backup connecté en permanence à Internet (histoire d'automatiser le backup)

Préparation du PC de backup

Pas grand chose à installer mis à part l'indispensable client FTP lftp qui va nous permettre de faire un backup incrémental (seul les nouveaux fichiers seront téléchargés).

Exemple d'installation de lftp sous Ubuntu (à adapter à votre OS...):

[shell]sudo aptitude install lftp[/shell]

On créé ensuite un répertoire dans lequel le site Web/blo  sera sauvegardé.

[shell]mkdir ~/backup[/shell]

Configuration de la sauvegarde

On édite le fichier ~/monsite.lftp avec les informations suivantes (à adapter à vos besoins):

[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 login:password@monsite.com
lcd ~/backup
mirror -e -x dossier-a-exclure/

quit

[/shell]

On teste la sauvegarde:

[shell]

lftp -f ~/monsite.lftp

[/shell]

Et voilà, le répertoire ~/backup devrait contenir une image exacte de votre site Internet !

Il ne reste plus qu'à automatiser le backup toutes les nuits (crontab -e):

[shell]

0 1 * * * lftp ~/monsite.lftp

[/shell]

Et si je veux sauver ma base de données WordPress ?

Bonne question Michel... Personnellement j'utilise le plugin WP-DatabaseManager qui me permet de:

  • sauvegarder ma base de donnée dans un des répertoire de mon site Web (donc le backup se fera automatiquement avec la procédure décrite ci-dessus)
  • optimiser ma base de donnée
  • restaurer si besoin ma base de donnée

Et vous, comment faite vous la sauvegarde de votre site ?