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:
- 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...):
sudo aptitude install lftp
On créé ensuite un répertoire dans lequel le site Web/blo sera sauvegardé.
mkdir ~/backup
Configuration de la sauvegarde
On édite le fichier ~/monsite.lftp avec les informations suivantes (à adapter à vos besoins):
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
On teste la sauvegarde:
lftp -f ~/monsite.lftp
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):
0 1 * * * lftp ~/monsite.lftp
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 ?