Subversion Repositories ALCASAR

Rev

Rev 40 | Blame | Last modification | View Log

#! /bin/bash
# $Id: alcasar-mysql.sh 63 2010-04-08 19:56:10Z franck $

## Script de sauvegarde de la base MySQL 'radius' (by rexy)

LANG="fr_FR@euro"                       # choix de la langue
rep_tr="/var/Save/base"                 # répertoire d'accueil des sauvegardes
ext="sql"                               # extention des fichiers de sauvegarde
DB_RADIUS="db_radius"                   # nom de la base
DB_USER="db_user"                       # nom d'utilisateur mysql (base des usagers)
radiuspwd="radius_pwd"                  # mot de passe d'accès
new="$(date +%F-%Hh%M)"                 # date et heure des fichiers
fichier="$DB_RADIUS-$new.$ext"          # nom du fichier de sauvegarde

usage="Usage: alcasar-mysql.sh -dump | -import | -raz"
nb_args=$#
args=$1
if [ $nb_args -eq 0 ]
then
        nb_args=1
        args="-h"
fi
case $args in
        -\? | -h* | --h*)
                echo "$usage"
                exit 0
                ;;
        -dump)  
                [ -d $rep_tr ] || mkdir -p $rep_tr
                if [ -e  $fichier ];
                        then rm -f  $fichier 
                fi
                echo "Export de la base 'db_radius' dans le fichier : $fichier"
                mysqldump -u $DB_USER -p$radiuspwd --opt -BcQC  $DB_RADIUS > $rep_tr/$fichier
                echo "Fin de Sauvegarde mysql $( date "+%Hh %Mmn" )"
                ;;
        -import)
                if [ $nb_args -ne 2 ]
                        then
                        echo "Entrez le nom d'un fichier SQL (.sql)"
                        exit 0
                else
                         mysql -u $DB_USER -p$radiuspwd < $2
                        
                fi
                ;;
        -raz)
                mysql -u$DB_USER -p$radiuspwd $DB_RADIUS < /etc/raddb/radiusd-db-vierge.sql
                ;;
        *)
                echo "Argument inconnu :$1";
                echo "$usage"
                exit 1
                ;;
esac