197503286_6ad8d4c925On continue les article sur la sauvegarde avec rSnapshot, ici comment sauvegarder un blog Free.fr.


rSnapshot est capable d’éxécuter un script dans un répétoire temporaire qu’il crée puis ensuite de sauvegarder tout le contenu de ce répertoire temporaire.

Pour sauvegarder un site Internet il faut donc créer un script qui va copier dans un répertoire tout ce qui fait le site (base de donnée et fichiers)

Pour faire une sauvegarde de la base de donnée (on parle de dump SQL), Free ne met pas à disposition l’outil mysqldump qui est communément utilisé pour sauvegarder une base MySQL, mais il existe une page php qui réalise ce dump et renvoi l’archive le contenant.

Cette page est accessible à l’adresse suivante :

http://sql.free.fr/backup.php


Pour mon script je me suis très fortement inspiré du script proposé ici :



Que j’ai purgé de toute la gestion des répertoires (géré par rSnapshot) et de la sauvegarde SQL par mysqldump.



#!/bin/bash
# Version 0.4 : Adaptation du script <a href="http://doc.ubuntu-fr.org/sauvegarder_un_site">http://doc.ubuntu-fr.org/sauvegarder_un_site</a>
 
# pour rsnapshot et free.fr exclusivement
 
# FONCTIONNALITÉS :
#  - Sauvegarde des fichiers distants via FTP
#  - Sauvegarde des bases de données MySQL distantes via <a href="http://sql.free.fr/backup.php">http://sql.free.fr/backup.php</a> pour les sites perso de free
#  - Sauvegarde de plusieurs sites
 
#Variables à renseigner
sav_complete_tous_les="1 month" 	# refaire une sauvegarde complete et archiver les anciennes tous les ... (ex1 : 2 month) (ex2 : 30 day) (ex3: 12 hour)
rep_log=$HOME/Sauvegardes/internet 	# répertoire où les fichiers .log seront stockés
 
#copiez collez le bloc en modifiant le numéro entre crochets, dans l'ordre [0] puis [1], ... en fonction du nombre de sites à sauver
 
# Début du bloc à paramétrer
nom_du_site[0]=voidandany.free.fr    # Nom du site internet (juste pour info)
serveur_ftp[0]=ftpperso.free.fr     	# adresse du serveur ftp
utilisateur_ftp[0]=xxx     		# utilisateur ftp
mdp_ftp[0]=xxx     		# mot de passe ftp
liste_rep_ftp[0]="/" 		# liste de répertoires sur le serveur ftp à sauvegarder, séparés par des espaces. Mettre simplement / pour sauver le site en entier. Dans tous les cas l'adresse doit commencer par /. Garder les guillemets
serveur_sql[0]=sql.free.fr     	# adresse du serveur mysql
utilisateur_sql[0]=xxx	     	# utilisateur mysql
mdp_sql[0]=xxx	 		# mot de passe mysql
# Fin du bloc à paramétrer
 
sauver(){
 
 #Sauvegarde des fichiers via FTP
  mkdir BDD
  mkdir Fichiers
 
 #Sauvegarde de la base MySQL via mysqldump
  echo
  echo Sauvegarde SQL de ${nom_du_site[$i]}
  echo
  wget http://sql.free.fr/backup.php --post-data="login=${utilisateur_sql[$i]}&password=${mdp_sql[$i]}&check=1&all=1" -O BDD/$(date +%F_%H-%M-%S).sql.gz
 
  echo
  echo Sauvegarde FTP de ${nom_du_site[$i]}
  echo
  for rep_ftp in ${liste_rep_ftp[$i]}; do
    lftp ftp://${utilisateur_ftp[$i]}:${mdp_ftp[$i]}@${serveur_ftp[$i]} -e "mirror -e ${rep_ftp} ./Fichiers ; quit"
  done
 
}
 
date_debut_script="le $(date +%F) à $(date +%H:%M:%S)"
 
# On fait toutes les sauvegardes
len=${#nom_du_site[*]}
i=0
while [ "$i" -lt "$len" ]
do
  sauver
  let "i = $i + 1"
done
 
echo La sauvegarde des sites internet a commencée $date_debut_script et s\'est terminée le $(date +%F) à $(date +%H:%M:%S)
 
exit 0


Reste à paramétrer le fichier de configuration de rSnapshot en y ajoutant la ligne :

backup_script   /home/svc/bin/backupBlog.sh     blog


Ce script utilise la commande lftp, il faudra donc au préalable avoir installé le paquet correspondant :

sudo aptitude install lftp


Et votre blog Free sera sauvegardé tous les jours…



 

Sources :

sauvegarder_un_site – Documentation Ubuntu Francophone

Sauvegarder automatiquement sa base de données chez free – [Le blog de l'informatique]


Image par dynet sous CC



Les commentaires sont fermés.