Subversion Repositories ALCASAR

Rev

Rev 909 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 909 Rev 955
Line 1... Line 1...
1
#! /bin/bash
1
#! /bin/bash
2
# $Id: alcasar-mysql.sh 909 2012-06-25 07:16:02Z franck $
2
# $Id: alcasar-mysql.sh 955 2012-07-18 15:21:02Z richard $
3
 
3
 
4
# alcasar-mysql.sh
4
# alcasar-mysql.sh
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 10... Line 10...
10
 
10
 
11
rep_tr="/var/Save/base" 	 	# répertoire d'accueil des sauvegardes
11
rep_tr="/var/Save/base" 	 	# répertoire d'accueil des sauvegardes
12
ext="sql"  				# extension des fichiers de sauvegarde
12
ext="sql"  				# extension des fichiers de sauvegarde
13
DB_RADIUS="radius"
13
DB_RADIUS="radius"
14
DB_USER="radius"
14
DB_USER="radius"
15
radiuspwd="9dthW7VG"
15
radiuspwd="iDTxxBGa"
16
new="$(date +%G%m%d-%Hh%M)"  		# date et heure des fichiers
16
new="$(date +%G%m%d-%Hh%M)"  		# date et heure des fichiers
17
fichier="$DB_RADIUS-$new.$ext"		# nom du fichier de sauvegarde
17
fichier="$DB_RADIUS-$new.$ext"		# nom du fichier de sauvegarde
18
 
18
 
19
#USER="franck"
-
 
20
#MYSQLCMD="/usr/bin/mysql -u$DB_USER -p$radiuspwd $DB_RADIUS --exec"
-
 
21
 
19
 
22
stop_acct ()
20
stop_acct ()
23
{
21
{
24
	date_now=`date "+%F %X"`
22
	date_now=`date "+%F %X"`
25
	echo "UPDATE radacct SET acctstoptime = '$date_now', acctterminatecause = 'Admin-Reset' WHERE acctstoptime IS NULL" | mysql -u$DB_USER -p$radiuspwd $DB_RADIUS
23
	echo "UPDATE radacct SET acctstoptime = '$date_now', acctterminatecause = 'Admin-Reset' WHERE acctstoptime IS NULL" | mysql -u$DB_USER -p$radiuspwd $DB_RADIUS
-
 
24
}
-
 
25
check ()
26
 
26
{
-
 
27
	echo "check (and repair if needed) the database :"
-
 
28
	mysqlcheck --databases $DB_RADIUS -u $DB_USER -p$radiuspwd --auto-repair
27
}
29
}
28
 
30
 
29
expire_user ()
31
expire_user ()
30
{
32
{
31
	del_date=`date +%F`
33
	del_date=`date +%F`
Line 39... Line 41...
39
		else
41
		else
40
			echo "Delete User $u : Error $del_date" >> /var/log/mysqld/delete_user.log
42
			echo "Delete User $u : Error $del_date" >> /var/log/mysqld/delete_user.log
41
		fi
43
		fi
42
 	 done
44
 	 done
43
}
45
}
44
usage="Usage: alcasar-mysql.sh { -d or --dump } | { -i or --import } | { -r or --raz } | { -acct_stop } | [ --expire_user ]"
46
usage="Usage: alcasar-mysql.sh { -d or --dump } | { -c or --check } | { -i or --import } | { -r or --raz } | { -acct_stop } | [ --expire_user ]"
45
nb_args=$#
47
nb_args=$#
46
args=$1
48
args=$1
47
if [ $nb_args -eq 0 ]
49
if [ $nb_args -eq 0 ]
48
then
50
then
49
	nb_args=1
51
	nb_args=1
Line 57... Line 59...
57
	-d | --dump | -dump)	
59
	-d | --dump | -dump)	
58
		[ -d $rep_tr ] || mkdir -p $rep_tr
60
		[ -d $rep_tr ] || mkdir -p $rep_tr
59
		if [ -e  $fichier ];
61
		if [ -e  $fichier ];
60
			then rm -f  $fichier 
62
			then rm -f  $fichier 
61
		fi
63
		fi
-
 
64
		check
62
		echo "Export de la base 'db_radius' dans le fichier : $fichier"
65
		echo "Export the database in file : $fichier"
63
		mysqldump -u $DB_USER -p$radiuspwd --opt -BcQC  $DB_RADIUS > $rep_tr/$fichier
66
		mysqldump -u $DB_USER -p$radiuspwd --opt -BcQC  $DB_RADIUS > $rep_tr/$fichier
64
		echo "Fin de Sauvegarde mysql $( date "+%Hh %Mmn" )"
67
		echo "End of export $( date "+%Hh %Mmn" )"
-
 
68
		;;
-
 
69
	-c | --check | -check)	
-
 
70
		check
65
		;;
71
		;;
66
	-i | --import | -import)
72
	-i | --import | -import)
67
		if [ $nb_args -ne 2 ]
73
		if [ $nb_args -ne 2 ]
68
			then
74
			then
69
			echo "Entrez le nom d'un fichier SQL (.sql)"
75
				echo "Enter a SQL file name (.sql)"
70
			exit 0
76
			exit 0
71
		else
77
		else
72
			mysql -u $DB_USER -p$radiuspwd < $2
78
			mysql -u $DB_USER -p$radiuspwd < $2
73
			stop_acct	
79
			stop_acct	
74
		fi
80
		fi
Line 82... Line 88...
82
		;;
88
		;;
83
	--expire_user)
89
	--expire_user)
84
		expire_user	
90
		expire_user	
85
		;;
91
		;;
86
	*)
92
	*)
87
		echo "Argument inconnu :$1";
93
		echo "Unknown argument :$1";
88
		echo "$usage"
94
		echo "$usage"
89
		exit 1
95
		exit 1
90
		;;
96
		;;
91
esac
97
esac