Backup de la base de données MySQL des pages persos Free avec CURL
Par olberger le mardi, janvier 23 2007, 12:06 - technique - Lien permanent
J'ai mis en ligne un site sur une page perso Free, qui utilise une base de données MySQL Free.
Il existe un outil de sauvegarde via un formulaire Web pour ces bases de données, nécessitant de s'authentifier et de valider un formulaire, mais je préfère une sauvegarde automatique déclenchée périodiquement.
J'ai donc bidouillé un script permettant de faire la même chose avec CURL, qui peut donc tourner en crontab. Il est prévu pour tourner dans un répertoire, et garder seulement les 10 derniers dumps de la base.
Voici le script... commentaires bienvenus.
Et bien-sûr, vous l'utilisez à vos risques et périls.
#! /bin/sh
#set -x
user=votre_user
password=votre_mdp
rm -f curl.headers
rm -f backup.php
curl -s -S -O -D curl.headers -d "login=$user&password=$password&check=1&all=1" http://sql.free.fr/backup.php
if [ $? -ne 0 ]
then
echo "Erreur curl" >&2
exit 1
else
echo "Backup MySQL for $user OK"
fi
grep -q "HTTP/1.1 200 OK" curl.headers
if [ $? -eq 0 ]
then
grep -q "Content-Disposition: attachment" curl.headers
if [ $? -eq 0 ]
then
filename=$(grep "Content-Disposition: attachment" curl.headers | sed -e 's/.*filename="//' | sed -e 's/";.*$//')
mv backup.php backup_mysql_$filename
echo "Saved in backup_mysql_$filename"
fi
ls -1 backup_mysql_*.gz | sort -u | head -n-10 | xargs -r rm -v
else
echo -n "Error : " >&2
grep "HTTP/1.1 " curl.headers >&2
exit 1
fi
Commentaires
Merci, pile poil ce que je cherchais
J'étais parti dans la même direction mais butais sur la récupération du nom de fichier. Merci d'avoir rendu ce script public !