Subversion Repositories ALCASAR

Rev

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

Rev Author Line No. Line
672 richard 1
#!/bin/bash
64 franck 2
# $Id: alcasar-log-export.sh 672 2011-07-08 15:34:22Z richard $
672 richard 3
 
1 root 4
# alcasar-log-export.sh
672 richard 5
# by Franck BOUIJOUX and Richard REY
1 root 6
# This script is distributed under the Gnu General Public License (GPL)
7
 
376 franck 8
# Script permettant d'exporter des logs des répertoires /var/log/{squid-firewall-httpd} à des fins d'archivages.
1 root 9
# Une fonction EXPERIMENTALE de chiffrement et de signature des logs a été implémentée dans ce script. Son activation par la mise à '1' de la variable 'CHIFFREMENT' et/ou 'SIGNATURE' permet de chiffrer-signer ou signer les logs contenus dans /var/Save/logs/.
10
# Il est nécessaire de détenir la passphrase de la clé privée de l'utilisateur 'admin-chillispot' pour rendre ces logs lisibles (la passphrase est actuellement détenue par l'équipe projet.
11
 
12
date=`date +%F`
13
TO_SAVE="/var/Save/logs"		# répertoire accessible par webs
14
REP_SAVE="/var/log"			# répertoire local des logs
376 franck 15
REP_SERVICE="squid httpd firewall"	# liste des répertoires contenant des logs utiles à exporter
1 root 16
CHIFFREMENT="0"				# chiffrement des logs ( 0=non / 1=oui )
17
GPG_USER=""				# utilisateur autorisé à déchiffrer les logs. Son biclé est inclus dans le portefeuille gnupg de root (/root/.gnupg)
18
 
19
for i in $REP_SERVICE ; do
20
	[ -d $TO_SAVE/$i ] || mkdir -p $TO_SAVE/$i	# utile une seule fois mais crée le répertoire si nécessaire
21
	cd $REP_SAVE/$i 
22
	if [ $CHIFFREMENT -eq "1" ]
23
	then
24
# chiffrement des logs dans /var/Save/logs/(squid|firewall|httpd)
654 richard 25
		find . \( -mtime -7 -o -ctime 0 \) -a \( -name '*log-*.gz' \) -exec gpg --output $TO_SAVE/$i/{}.gpg --encrypt --recipient $GPG_USER {} \;
1 root 26
	else	
27
# copie simple des logs dans /var/Save/logs/(squid|firewall|httpd) 
654 richard 28
		find . \( -mtime -7 -o -ctime 0 \) -a \( -name '*log-*.gz' \) -exec cp {} $TO_SAVE/$i/.  \;
1 root 29
	fi
30
done
31
chown -R apache.apache $TO_SAVE
32
exit 0
33