Bonjour à tous et déjà merci de me lire.

Alors , dans une architecture client/serveur , je cherche à écrire un script qui doit (entre autres) permettre de restaurer par l'utilisation des snapshots (LVM) le répertoire ou se trouve l'utilisateur quand il lance le script.

Exemple :
Sur le serveur même, je me rend dans /home/user/images et lance le script en local ,
j'obtiens une proposition de restauration pour le dossier /home/user/images.
Parfait.

cd /home/user/images
/usr/local/bin/restauration

Voulez -vous restaurez le dossier /home/user/images de 15H ?
Sur ma machine , je lance le script via SSH depuis /home/user/images (montage).
J'obtiens une proposition de restauration pour le dossier /home/user.
Raté !
SSH remonte directement à la racine dans mon homedir et y execute ma commande pwd , d'ou le plantage.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
cd /home/user/images
ssh nom_du_serveur  /usr/local/bin/restauration
 
Voulez -vous restaurez le dossier /home/user/ de 15H ?
Toute aide sera la bienvenue.
Ci-dessous , ce merveilleux code à l'indentation toute particuière.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash
 
rep=$(pwd)
echo "$rep"
represtau=`echo $rep | sed -e "s/\/home//"`
heure=$(date '+%H')
echo ""
echo -n "Souhaitez vous restaurer le dossier $rep de $heure H (y/n)"
echo ""
read reponse
echo ""
if [ "$reponse" = "y" ]; then           
              echo "RESTAURATION REPERTOIRE EN COURS"
              echo "Création du point de montage"
	      sudo -s /bin/mkdir /mnt/snaps/home.$heure\h00
	      echo "Montage du snapshot"
	      /bin/mount /dev/VG0/home.$heure\h00 /mnt/snaps/home.$heure\h00
	      echo "Copie depuis $rep vers homedir"
	      cp -a /mnt/snaps/home.$heure\h00$represtau /$rep.snap 
              echo "Démontage du snapshot"
              /bin/umount /dev/VG0/home.$heure\h00 /mnt/snaps/home.$heurerestau\h00
	      echo "Suppression du point de montage"
	      rm -rf /mnt/snaps/home.$heurerestau\h00
              echo "RESTAURATION TERMINEE"
 elif [ "$reponse" = "n" ]; then
              echo -n "Souhaitez vous restaurer un document ou un dossier (document/dossier)"
	      echo ""
	      read reponse2
	      echo ""
	      if  [ "$reponse2" = "document" ]; then 
	      echo "Veuillez entrer le chemin vers le document-cible"
	      echo "Exemple /nom/Documents/important/documentarestaurer"
	      read doccible
	      echo "Veuillez indiquer l'heure de la restauration à effectuer(08-19)"
	      read docheure
	      echo "Etes-vous sur de vouloir restaurer le document $doccible de $docheure H ? (y/n)"
	      read reponsedoc
	           if [ "$reponsedoc" = "y" ]; then
	           echo "RESTAURATION DOC EN COURS"
	           echo "Création du point de montage"
	           sudo -s /bin/mkdir /mnt/snaps/home.$docheure
	           echo "Montage du snapshot"
	           /bin/mount /dev/VG0/home.$docheure /mnt/snaps/home.$docheure
	           echo "Copie depuis /mnt vers homedir"
	           cp -a /mnt/snaps/home.$docheure\h00$doccible /home$doccible.snap 
	           echo "Démontage du snapshot"
                   /bin/umount /dev/VG0/home.$docheure /mnt/snaps/home.$docheure
	           echo "Destruction du point de montage"
	           rm -rf /mnt/snaps/home.$docheure			     
	           echo "RESTAURATION TERMINEE"
		   elif [ "$reponsedoc" = "n" ]; then
	           echo "A votre demande, le script de restauration va se terminer"
	           else 
	           echo "Erreur, veuillez relancer le script de restauration"    
	           fi
	           exit
	       elif [ "$reponse2" = "dossier" ]; then
	       echo "Veuillez entrez le chemin vers le répertoire cible"
	       echo "Exemple /user/dossier/arestaurer"
	       read repcible
	       echo "Veuillez indiquer l'heure de la restauration à effectuer(08-19)"
	       read repheure
	       echo "Etes-vous sur de vouloir restaurer le repertoire /home$repcible de $repheure H ? (y/n)"
	       read reponserep
		    if [ "$reponserep" = "y" ]; then           
		    echo "RESTAURATION REPERTOIRE EN COURS"
	            echo "Création du point de montage"
		    sudo -s /bin/mkdir /mnt/snaps/home.$repheure
	            echo "Montage du snapshot"
		    /bin/mount /dev/VG0/home.$repheure /mnt/snaps/home.$repheure
	            echo "Copie depuis /mnt vers homedir"
	            cp -a /mnt/snaps/home.$repheure\h00$repcible /home$repcible.snap 
		    echo "Démontage du snapshot"
                    /bin/umount /dev/VG0/home.$repheure /mnt/snaps/home.$repheure
		    echo "Destruction du point de montage"
		    rm -rf /mnt/snaps/home.$repheure
		    echo "RESTAURATION TERMINEE"
		    elif [ "$reponserep" = "n" ]; then
		    echo "A votre demande, le script de restauration va se terminer"
		    else
		    echo "Erreur, veuillez relancer le script de restauration" 
		    fi
		    exit
 
fi           
else
echo "Erreur, veuillez relancer le script de restauration" 
fi
exit