Archives du mot-clef dump

dump_backup

Backups et dumps

Si comme moi, vous vous demandez comment réaliser des backups(sauvegarde d’un répertoire) ou des dumps(sauvegarde de la base de données) de manière très automatisée sur un serveur dédié.

Alors j’ai une solution à vous proposer à l’aide de scripts en Shell, que vous pourrez améliorer à votre sauce.

Voici l’exemple type pour les dumps

#!/bin/bash

#Variables utilisées
LOCAL_FOLDER="/home/backups/sql";

FTP_SERVER="ftp.distant.fr";
FTP_USER="user";
FTP_PASSWORD="pass";
FTP_FOLDER="/sql/";


#Génération du dump
DATE=$(date +%Y-%m-%d_%H-%M)
FILENAME="dump_${DATE}.sql.gz"
cd $LOCAL_FOLDER

mysqldump -u root --password="pass" --all-databases | gzip> ${FILENAME};


# On référence les fichiers à copier
FTP_FILES=sudo ls $LOCAL_FOLDER/*

# Résumé des données
cd $LOCAL_FOLDER

# Lancement de la copie
                                                                                            
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD

cd $FTP_FOLDER

binary

mput *

bye

EOF



# Suppression du fichier temporaire
rm $FILENAME

# On envoi un mail de confirmation
mail -s 'Dumps - succès' 'info-gerance@ndd.com' -a 'FROM: mon-srv <root@ndd.com>' <<EOMAIL
Un nouveau dumps de la base de donnée à été créé avec succès.
Fichier ajouté : /sql/dump_${DATE}.sql.gz

EOMAIL

Et voici l’exemple pour réaliser un backup. Ici backup du répertoire des sites web.

#!/bin/bash

#Variables utilisées
LOCAL_FOLDER="/home/backups/www";

FTP_SERVER="ftp.distant.fr";
FTP_USER="user";
FTP_PASSWORD="pass";
FTP_FOLDER="/www/";


#Génération du backup
DATE=$(date +%Y-%m-%d_%H-%M)
FILENAME="www_backup_${DATE}.tar"
cd $LOCAL_FOLDER

tar -cf ${FILENAME} /home/www/;
gzip ${FILENAME};
mv ${FILENAME}.gz ${LOCAL_FOLDER};

# On référence les fichiers à copier
FTP_FILES=sudo ls $LOCAL_FOLDER/*

# Résumé des données
cd $LOCAL_FOLDER

# Lancement de la copie
                                                                                            
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD

cd $FTP_FOLDER

binary

mput *

bye

EOF



# Suppression du fichier temporaire
rm $FILENAME

# On envoi un mail de confirmation
mail -s 'Backups - succès' 'info-gerance@ndd.com' -a 'FROM: mon-srv <root@ndd.com>' <<EOMAIL
Un nouveau backup du répertoire /home/www a été réalisé.
Fichier ajouté : /www/www_backup_${DATE}.sql.gz

EOMAIL

En espérant que ces deux petits scripts vous aiderons ;)