#!/bin/bash
TAR_COMPRESS="tar cjvf" # Commande de compression
BACKUP_EXTENSION="tar.bz2" # Extension des fichiers compressés
DATE=`date '+%d-%m-%Y'`
BACKUP_ADDRESS="sav@server.org"
BACKUP_DIR="/directory"
echo "Sauvegarde des fichiers"
echo "On sauvegarde et on envoie le home"
cd /home
for i in `ls`
do
$TAR_COMPRESS $i-$DATE.$BACKUP_EXTENSION /home/$i/*
echo "`date` debut scp $i" >> /var/log/backup.log
scp $i-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
echo "`date` fin scp $i" >> /var/log/backup.log
rm -f $i-$DATE.$BACKUP_EXTENSION
done
echo "On sauvegarde et on envoie le home du root "
$TAR_COMPRESS root-$DATE.$BACKUP_EXTENSION /root/
echo "`date` debut scp /root" >> /var/log/backup.log
scp root-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
echo "`date` fin scp /root" >> /var/log/backup.log
rm -f root-$DATE.$BACKUP_EXTENSION
echo "On sauvegarde et on envoie le etc"
$TAR_COMPRESS etc-$DATE.$BACKUP_EXTENSION /etc/
echo "`date` debut scp /etc" >> /var/log/backup.log
scp etc-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
echo "`date` fin scp /etc" >> /var/log/backup.log
rm -f etc-$DATE.$BACKUP_EXTENSION
echo "On passe au dump MySQL"
MYSQL_USER="root" # User mySQL Ã utiliser pour faire le dump
MYSQL_PASSWORD="pass" # Mot de passe root de la base mySQL
MYSQL_HOST="localhost" # Host de la base mySQL
SQL_LIST_DB="SHOW DATABASES;" # Requete SQL listant toutes les bases
cd /home/backup/dumpsql
echo "Dump de toutes les bases MySQL"
mysqldump -p"$MYSQL_PASSWORD" --all-databases > all-databases.$DATE.sql
echo "Compression et envoie du dump"
$TAR_COMPRESS all-databases-$DATE.sql.$BACKUP_EXTENSION all-databases.$DATE.sql
echo "`date` debut scp all databases" >> /var/log/backup.log
scp all-databases-$DATE.sql.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
echo "`date` fin scp all databases" >> /var/log/backup.log
rm -f all-databases.$DATE.sql
rm -f all-databases-$DATE.sql.$BACKUP_EXTENSION
echo "Dump base par base"
for database in `echo $SQL_LIST_DB | mysql -u $MYSQL_USER -p"$MYSQL_PASSWORD" -h $MYSQL_HOST | sed 1d`
do
mysqldump -p"$MYSQL_PASSWORD" --databases $database > $database-$DATE.sql
$TAR_COMPRESS $database-$DATE.sql.$BACKUP_EXTENSION $database-$DATE.sql
rm -f $database-$DATE.sql
done
echo "On sauvegarde le dump des bases et on l'envoie"
$TAR_COMPRESS dump-$DATE.$BACKUP_EXTENSION *.*.sql.$BACKUP_EXTENSION
echo "`date` debut scp base par base" >> /var/log/backup.log
scp dump-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
echo "`date` fin scp base par base" >> /var/log/backup.log
rm -f dump-$DATE.$BACKUP_EXTENSION