Projet

Général

Profil

migre-domaine.sh

première version - Joël Cuissinat, 01/04/2010 16:55

Télécharger (1,73 ko)

 
1
#!/bin/bash
2
. /usr/share/eole/FonctionsEoleNg
3
old=$1
4
new=$2
5
if [ "$old" == "" -o "$new" == "" ];then
6
	echo -e "\nScript de migration du nom de domaine de l'établissement\n"
7
	echo -e "usage : $0 anciendomaine nouveaudomaine\n"
8
	exit 1
9
fi
10
Question "Migrer de $1 vers $2"
11
if [ $? -ne 0 ];then
12
	echo "Abandon"
13
	exit 1
14
fi
15
oldsympa="/var/lib/sympa/expl/i-$old"
16
newsympa="/var/lib/sympa/expl/i-$new"
17
oldetc="/etc/sympa/i-$old"
18
newetc="/etc/sympa/i-$new"
19
ldif="/root/annuaire-`date +%Y%m%d`.ldif"
20
ldif2="/root/annuaire-`date +%Y%m%d`-2.ldif"
21
# vérifications préalables...
22
if [ ! -d $oldsympa ];then
23
	echo "Erreur : le répertoire $oldsympa n'existe pas !"
24
	exit 1
25
fi
26
if [ ! -d $oldetc ];then
27
	echo "Erreur : le répertoire $oldetc n'existe pas !"
28
	exit 1
29
fi
30
if [ -d $newetc ];then
31
	echo "Erreur : le répertoire $newetc existe déjà !"
32
	exit 1
33
fi
34
if [ -d $newsympa ];then
35
	echo "Erreur : le répertoire $newsympa existe déjà !"
36
	exit 1
37
fi
38
if [ -f $ldif ];then
39
	echo "Erreur : Le fichier $ldif existe déjà !"
40
	exit 1
41
fi
42
echo "# Sauvegarde de l'annuaire dans $ldif..."
43
/etc/init.d/slapd stop
44
slapcat > $ldif
45
cp -f $ldif $ldif2
46
echo "# Modification de l'annuaire..."
47
sed -i "s/$old/$new/g" $ldif2
48
rm -f /var/lib/ldap/*.*
49
slapadd -l $ldif2
50
chown openldap:openldap /var/lib/ldap/*.*
51
/etc/init.d/slapd start
52
rm -f $ldif2
53
echo "# Migration des configurations sympa..."
54
mv $oldetc $newetc
55
mv $oldsympa $newsympa
56
for confsympa in `find /var/lib/sympa/expl -name config`;do
57
	sed -i "s/$old/$new/g" $confsympa
58
done
59
echo "# Migration des alias Exim4..."
60
sed -i "s/$old/$new/g" /etc/mail/sympa_aliases
61
sed -i "s/$old/$new/g" /etc/aliases
62
echo -e "\nMigration terminée : modifiez la variable \"Nom de domaine de la messagerie\""
63
echo -e "puis lancez la commande *reconfigure*\n"
64
exit 0