Subversion Repositories ALCASAR

Rev

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

Rev 1303 Rev 1308
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-archive.sh 1303 2014-01-15 18:03:47Z richard $
2
# $Id: alcasar-archive.sh 1308 2014-01-22 22:23:54Z richard $
3
 
3
 
4
# alcasar-archive.sh
4
# alcasar-archive.sh
5
# by Franck BOUIJOUX and REXY
5
# by Franck BOUIJOUX and REXY
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 18... Line 18...
18
DIR_SAVE="/var/Save"			# répertoire accessible par webs
18
DIR_SAVE="/var/Save"			# répertoire accessible par webs
19
DIR_LOG="/var/log"			# répertoire local des log
19
DIR_LOG="/var/log"			# répertoire local des log
20
 
20
 
21
#DIR_SERVICE="squid httpd firewall"	# répertoires contenant des logs utiles à exporter
21
#DIR_SERVICE="squid httpd firewall"	# répertoires contenant des logs utiles à exporter
22
DIR_BASE="$DIR_SAVE/base"		# répertoire de sauvegarde de la base de données usagers
22
DIR_BASE="$DIR_SAVE/base"		# répertoire de sauvegarde de la base de données usagers
23
DIR_ARCHIVE="$DIR_SAVE/archive"		# répertoire de sauvegarde de la base de données usagers
23
DIR_ARCHIVE="$DIR_SAVE/archive"		# répertoire de sauvegarde des archives de log
24
NOW="$(date +%G%m%d-%Hh%M)"  		# date et heure du moment
24
NOW="$(date +%G%m%d-%Hh%M)"  		# date et heure du moment
25
DIR_TMP="/tmp/archive-$NOW"		# Répertoire temporaire d'export
25
DIR_TMP="/tmp/archive-$NOW"		# Répertoire temporaire d'export
26
FILE="archive-$NOW.tar.gz"		# Nom du fichier de l'archive
26
FILE="archive-$NOW.tar.gz"		# Nom du fichier de l'archive
27
EXPIRE_DAY=365				# Nbre de jour avant suppression des fichiers journaux
27
EXPIRE_DAY=365				# Nbre de jour avant suppression des fichiers journaux
28
CRYPT="0"				# chiffrement des logs 		( 0=non / 1=oui) --> Si oui alors la signature est automatiquement activée
28
CRYPT="0"				# chiffrement des logs 		( 0=non / 1=oui) --> Si oui alors la signature est automatiquement activée
Line 30... Line 30...
30
SIGN="0"				# Signature/empreinte des logs 	( 0=non / 1=oui ) ATTENTION : nécessite la clé privée !!!
30
SIGN="0"				# Signature/empreinte des logs 	( 0=non / 1=oui ) ATTENTION : nécessite la clé privée !!!
31
					# Signature of log files	( 0=no / 1=yes )  ATTENTION : need the private key !!!
31
					# Signature of log files	( 0=no / 1=yes )  ATTENTION : need the private key !!!
32
GPG_USER=""				# utilisateur autorisé à déchiffrer les logs. Sa clé publique doit être connu dans le portefeuille gnupg de root (/root/.gnupg)
32
GPG_USER=""				# utilisateur autorisé à déchiffrer les logs. Sa clé publique doit être connu dans le portefeuille gnupg de root (/root/.gnupg)
33
					# user allowed to decrypt the log files. Its public key must be known in the root keyring (/root/.gnupg)
33
					# user allowed to decrypt the log files. Its public key must be known in the root keyring (/root/.gnupg)
34
 
34
 
35
usage="Usage: alcasar-archive.sh {--clean or -c} | {--now or -n}"
35
usage="Usage: alcasar-archive.sh {--live or -l} | {--now or -n} | {--clean or -c}"
36
 
36
 
37
nb_args=$#
37
nb_args=$#
38
args=$1
38
args=$1
39
if [ $nb_args -eq 0 ]
39
if [ $nb_args -eq 0 ]
40
then
40
then
Line 112... Line 112...
112
		fi
112
		fi
113
		rm -rf /tmp/archive-*
113
		rm -rf /tmp/archive-*
114
		chown root:apache $DIR_ARCHIVE/*
114
		chown root:apache $DIR_ARCHIVE/*
115
		;;
115
		;;
116
	--live | -l)
116
	--live | -l)
-
 
117
		mkdir -p $DIR_ARCHIVE
117
		mkdir -p /tmp/live 
118
		mkdir -p /tmp/live 
118
		gap=$(($(date +%d)-1))
119
		gap=$(($(date +%d)-1))
119
		cd /var/log/nfsen/profiles-data/live/ipt_netflow
120
		cd /var/log/nfsen/profiles-data/live/ipt_netflow
120
		find .  -mtime -$gap -name 'nfcapd.[0-9]*' | xargs tar -cf /tmp/live/tracability-ALL-$NOW.tar;
121
		find .  -mtime -$gap -name 'nfcapd.[0-9]*' | xargs tar -cf /tmp/live/tracability-ALL-$NOW.tar;
121
		/usr/local/sbin/alcasar-mysql.sh --dump
122
		/usr/local/sbin/alcasar-mysql.sh --dump
122
		mv $(echo $(ls -rt $DIR_BASE/radius-*.sql | tail -n 1 -)) /tmp/live/
123
		mv $(echo $(ls -rt $DIR_BASE/radius-*.sql | tail -n 1 -)) /tmp/live/
123
		cp /var/log/firewall/tracability.log /tmp/live/tracability-HTTP-$NOW.log
124
		cp /var/log/firewall/tracability.log /tmp/live/tracability-HTTP-$NOW.log
124
		tar -czf $DIR_ARCHIVE/tracability-$NOW.tar.gz /tmp/live/*
125
		tar -czf $DIR_ARCHIVE/tracability-$NOW.tar.gz /tmp/live/*
125
		rm -rf /tmp/live
126
		rm -rf /tmp/live
126
		;;
127
		;;
127
	--update | -u)
-
 
128
	#	Mise à niveau de l'architecture d'export/archivage
-
 
129
		[ -d /tmp/save ] || mkdir -p /tmp/save
-
 
130
		[ -d $DIR_ARCHIVE/ ] || mkdir -p $DIR_ARCHIVE/	# utile une seule fois mais crée le répertoire si nécessaire
-
 
131
		;;
-
 
132
	*)
128
	*)
133
		echo "Unknown argument :$1";
129
		echo "Unknown argument :$1";
134
		echo "$usage"
130
		echo "$usage"
135
		exit 1
131
		exit 1
136
		;;
132
		;;