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
|