Add backup_sites_mysql.sh and its README
This commit is contained in:
parent
1bcd00d005
commit
6165b0e428
|
@ -0,0 +1,5 @@
|
|||
The script backup_sites_mysql.sh is designed to save websites data files
|
||||
and the associated MySQL databases.
|
||||
|
||||
You need to edit the script to configure the databases you want to backup
|
||||
and the directory containing all your websites.
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
###############################
|
||||
##### Options utilisateur #####
|
||||
|
||||
# Bases de données à sauvegarder :
|
||||
BASES="information_schema mysql NAME_DB1 NAME_DB2 ..."
|
||||
|
||||
# Utilisateur et mot de passe MySQL à utiliser :
|
||||
USER="backup_user"
|
||||
PASS="backup_password"
|
||||
|
||||
# Répertoires à sauvegarder :
|
||||
#REPS="/opt/svn /opt/www"
|
||||
REPS="/srv/www"
|
||||
|
||||
# Répertoire de destination des sauvegardes :
|
||||
REP_TMP_SAUV="/tmp/sauv"
|
||||
|
||||
# Répertoire où l'on déplace les sauvegardes après exécution :
|
||||
REP_MV_SAUV="/home/sauv"
|
||||
|
||||
# Utilitaire de compression, qui doit avoir une interface à la gzip
|
||||
# (gzip, bzip2, xz…) :
|
||||
COMPRESS="xz"
|
||||
# Extension des fichiers compressés (gz, bz2, xz…) :
|
||||
ZEXT="xz"
|
||||
|
||||
|
||||
#################################
|
||||
##### Suite des préparatifs #####
|
||||
|
||||
umask 077
|
||||
|
||||
DATE=`date +'%Y-%m-%d'` # date au format année-mois-jour
|
||||
REP_SAUV="$REP_TMP_SAUV"/$DATE
|
||||
|
||||
# Création du répertoire de destination et du répertoire final
|
||||
mkdir -p "$REP_SAUV" || exit 2
|
||||
mkdir -p "$REP_MV_SAUV" || exit 2
|
||||
|
||||
# Sauvegarde des bases de données
|
||||
for BASE in $BASES ; do
|
||||
FICH_DUMP="$REP_SAUV"/${BASE}_$DATE.dump
|
||||
mysqldump -u $USER -p"$PASS" -B $BASE > "$FICH_DUMP"
|
||||
$COMPRESS -9 "$FICH_DUMP" # On compresse après avoir terminé le dump afin que la BDD ne soit pas verrouillée trop longtemps.
|
||||
done
|
||||
|
||||
# Sauvegarde des répertoires
|
||||
for REP in $REPS ; do
|
||||
if [ -e $REP ] ; then
|
||||
ARCH="$REP_SAUV"/`basename "$REP"`_$DATE
|
||||
tar cf - $REP | $COMPRESS -9 > "$ARCH".tar.$ZEXT
|
||||
else
|
||||
echo "Erreur ! Le fichier « $REP » n'existe pas." >&2
|
||||
fi
|
||||
done
|
||||
|
||||
# Déplacement de la sauvegarde
|
||||
mv "$REP_SAUV" "$REP_MV_SAUV" || echo "Erreur lors du déplacement de la sauvegarde de « $REP_SAUV » vers « $REP_MV_SAUV »." >&2
|
||||
|
||||
# Suppression du répertoire temporaire
|
||||
rmdir "$REP_TMP_SAUV" 2>/dev/null
|
||||
|
||||
# Message final
|
||||
REP_MV_SAUV="$REP_MV_SAUV"/$DATE
|
||||
echo "Sauvegarde terminée. Contenu du répertoire « $REP_MV_SAUV » :"
|
||||
\ls -lh "$REP_MV_SAUV"
|
Loading…
Reference in New Issue