Subversion Repositories ALCASAR

Rev

Rev 519 | Rev 672 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1 root 1
#! /bin/bash
63 franck 2
# $Id: alcasar-mysql.sh 613 2011-05-23 22:02:37Z richard $
3
 
5 franck 4
## Script de sauvegarde de la base MySQL 'radius' (by rexy)
5
rep_tr="/var/Save/base" 	 	# répertoire d'accueil des sauvegardes
386 franck 6
ext="sql"  				# extension des fichiers de sauvegarde
613 richard 7
DB_RADIUS="db_radius"
8
DB_USER="db_user"
9
radiuspwd="radius_pwd"
5 franck 10
new="$(date +%F-%Hh%M)"  		# date et heure des fichiers
11
fichier="$DB_RADIUS-$new.$ext"		# nom du fichier de sauvegarde
1 root 12
 
613 richard 13
stop_acct ()
14
{
15
	date_now=`date "+%F %X"`
16
	echo "UPDATE radacct SET acctstoptime = '$date_now', acctterminatecause = 'Admin-Reset' WHERE acctstoptime IS NULL" | mysql -u$DB_USER -p$radiuspwd $DB_RADIUS
17
 
18
}
19
usage="Usage: alcasar-mysql.sh { -dump or --dump } | { -import or --import } | { -raz or --raz } | { -acct_stop }"
1 root 20
nb_args=$#
21
args=$1
22
if [ $nb_args -eq 0 ]
23
then
24
	nb_args=1
25
	args="-h"
26
fi
27
case $args in
28
	-\? | -h* | --h*)
29
		echo "$usage"
30
		exit 0
31
		;;
386 franck 32
	-dump | --dump)	
1 root 33
		[ -d $rep_tr ] || mkdir -p $rep_tr
34
		if [ -e  $fichier ];
35
			then rm -f  $fichier 
36
		fi
37
		echo "Export de la base 'db_radius' dans le fichier : $fichier"
38
		mysqldump -u $DB_USER -p$radiuspwd --opt -BcQC  $DB_RADIUS > $rep_tr/$fichier
39
		echo "Fin de Sauvegarde mysql $( date "+%Hh %Mmn" )"
40
		;;
386 franck 41
	-import | --import)
1 root 42
		if [ $nb_args -ne 2 ]
43
			then
44
			echo "Entrez le nom d'un fichier SQL (.sql)"
45
			exit 0
46
		else
613 richard 47
			mysql -u $DB_USER -p$radiuspwd < $2
48
			stop_acct	
1 root 49
		fi
50
		;;
386 franck 51
	-raz | --raz)
417 franck 52
		mysqldump -u $DB_USER -p$radiuspwd --opt -BcQC  $DB_RADIUS > $rep_tr/$fichier && \
1 root 53
		mysql -u$DB_USER -p$radiuspwd $DB_RADIUS < /etc/raddb/radiusd-db-vierge.sql
54
		;;
613 richard 55
	-acct_stop)
56
		stop_acct
57
		;;
1 root 58
	*)
59
		echo "Argument inconnu :$1";
60
		echo "$usage"
61
		exit 1
62
		;;
63
esac