Backup-manager – Sauvegarder simplement

Mise en œuvre :

apt-get install backup-manager
vi /etc/backup-manager.conf

Liens :
site officiel
exemple dedibox
autre exemple

Sauvegarder un blog wordpress sur une clef usb

Objectif

Sauvegarder/Restaurer un blog de type WordPress:

  • sauvegarde des fichiers PHP
  • export SQL de la base de données

Langage de script utilisé: Bash

Script de Sauvegarde

wp-backupblog.sh

#!/bin/bash
# wp-backupblog.sh - Backup WordPress Blog
# version: 0.1
# Author: Benjamin Baudouin
# http://www.benjaminbaudouin.com
DEVICE=/dev/sda1
SRCDIR=/var/www/wordpress
USBKEYDIR=/media/usbkey/
TMPDIR=/tmp/backupblog/
ARCHIVE=blog.$(date +%Y%m%d).tar.gz
ARCHIVE_SQL=blog.$(date +%Y%m%d).sql
MYSQL_USER=root
MYSQL_PASS=*****************
MYSQL_DB=wordpress
#creation du repertoire tmp
if [ ! -e ${TMPDIR} ]
then
mkdir ${TMPDIR}
fi
#evaluation de la taille du blog
echo -e "Taille du blog (non compresse):"
du -sh ${SRCDIR}
#creation de l'archive (fichiers sources)
echo -e "Creation de l'archive ${ARCHIVE} ..."
cd ${SRCDIR}
tar cf - ${SRCDIR} | gzip > ${TMPDIR}${ARCHIVE}
echo -e "Taille du blog (archive compresse .tar.gz):"
du -sh ${TMPDIR}${ARCHIVE}
#creation de l'archive (fichier SQL)
echo -e "Creation de l'archive ${ARCHIVE_SQL} ..."
mysqldump -u${MYSQL_USER} -p${MYSQL_PASS} ${MYSQL_DB} > ${TMPDIR}${ARCHIVE_SQL}
echo -e "Taille du blog (archive .sql):"
du -sh ${TMPDIR}${ARCHIVE_SQL}
echo -e "Taille total blog"
du -sh ${TMPDIR}
#si pas d'automount, montage manuel
mount ${DEVICE} ${USBKEYDIR}
#copy
cp -rf ${TMPDIR} ${USBKEYDIR}
echo -e "\nCopie sur la clef usb ..."
#demontage
umount ${DEVICE}
if [ $? -eq 0 ]
then
echo -e "\nDone"
fi
exit 0

Script de Restauration

wp-restoreblog.sh

#!/bin/bash
# wp-restoreblog.sh - Restore WordPress Blog
# version: 0.1
# Author: Benjamin Baudouin
# http://www.benjaminbaudouin.com
DEVICE=/dev/sdb1
USBKEYDIR=/media/usbkey
BACKUPDIR=/media/usbkey/backupblog/
SRCDIR=/var/www/wordpress
SQLFILE=`find ${BACKUPDIR}*.sql`
MYSQL_USER=root
MYSQL_PASS=
#meme si pas d'automount, montage manuel
if [ ! -e ${USBKEYDIR} ]
then
mkdir ${USBKEYDIR}
fi
mount ${DEVICE} ${USBKEYDIR}
cp ${BACKUPDIR}*.tar.gz /
tar xzf /*.tar.gz
chown www-data:www-data ${
SRCDIR}
mysql -u${MYSQL_USER} -p${MYSQL_PASS} < ${SQLFILE}
umount ${DEVICE}


Accéder à la page projet

Recent Tweets

Catégories