Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 24 Apr 2007 20:19:15

gilbert
Affranchi(e)
 
Registered: 24 Apr 2007
Posts: 3
Website

savoir où l'on se trouve

Salut !

Je suis nouveau sur ce forum et voici mon premier post. Je débute sous linux alors je vais peut-être mal m'exprimer, je vous demande déjà pardon d'avance pour cela.

Voilà, j'ai réalisé un petit script en bash qui transfert des fichiers de ma machine  (qui dispose de kubuntu feisty) sur un serveur de mon école. Malheureusement, mon script ne fonctionne correctement que si je me trouve sur le réseau de mon école. Alors je voudrais savoir comment faire pour savoir où je me trouve, et ainsi, si je suis sur le réseau, je peux exécuter normalement mon script, sinon il se connecte d'abord sur le réseau de l'école par vpnc et ensuite s'exécute normalement.

Voilà. merci d'avance pour votre aide. smile

A+ Gilbert

Offline

 

#2 24 Apr 2007 23:36:31

fbianco
Membre du comité
From: Suisse
Registered: 04 Feb 2005
Posts: 1455
Website

Re: savoir où l'on se trouve

Pourrais-tu poster ton code ? (enlève juste les parties sensible comme les adresses des machines...)


Utilisateur de Debian GNU/Linux, le système d'exploitation universel !

www : https://skadi.ch

Offline

 

#3 25 Apr 2007 12:59:01

gilbert
Affranchi(e)
 
Registered: 24 Apr 2007
Posts: 3
Website

Re: savoir où l'on se trouve

Salut, voici mon script ci-dessous :

mon problème réside dans une façon plus prpore de coder la fonction accueil, elle fonctionne depusi chez moi, mais pas de façon générale..

merci pour votre aide. A+ Gilbert

Code:

#!/bin/bash

###############################################
# Auteur :    Gilbert Conus                                    
version="1.12"                                            
# Date :    24.04.2007                                    
###############################################

###############################################
#                                                    
#        VARIABLES À MODIFIER                            
#                                                    
# Remplacez #USERNAME# par votre nom d'utilisateur                
# Exemple : username=toto                                
username=#USERNAME#
# Remplacez /***/****/** par l'arborescence dans laquelle            
# se trouvent tous vos dossiers sources du projet                    
# Exemple : arbo=bash/projet/lalala                            
arbo=/***/****/**
###############################################



# déclaration des variables
serveur=*********

# message d'accueil
# à améliorer en vérifiant bien ces contitions d'être soit connecté par vpn, soit se trouver directement sur le réseau de l'EPFL
function accueil {
    if ifconfig | grep tun0 > /dev/null; then
        echo "Vous êtes sur le réseau de l'****"
    else
        echo "Connexion au réseau de l'****"
        sudo vpnc-connect *****
    fi
}

# supprime les fichiers temporaires
function remTemp {
    if [ -e *.*~ ]; then
        rm *.*~
        echo "Tous les fichiers temporaires ont été supprimés."
    else
        echo "Dossier ne contenant aucun fichier temporaire."
    fi
}

# archive le contenu du dossier
function archi {
    echo "Archivage du dossier..."
    tar cjvf ${PWD##/*/}Old.tar.bz2 *
    echo "Dossier archivé, vous sources vont être maintenant écrasée par les nouvelles."
}

# récupère les fichiers
function getFiles {
    echo "Récupération des fichiers..."
    scp -r $username@$serveur:/home/$username/$arbo/${PWD##/*/} .
    cd ${PWD##/*/} ; mv * .. ; cd .. ; rmdir ${PWD##/*/}
    echo "Fichier récupérés avec succès!"
}

function helpArgs {
    echo "Utilisation correcte du script transfert :"
    echo "transfert -send -ssh : Envoie les fichiers sur le serveur ***** et vous connecte par ssh."
    echo "transfert -send -X : Envoie les fichiers sur le serveur ***** et vous connecte par Xnest."
    echo "transfert -send : Envoie les fichiers sur le serveur ***** et ne vous connecte pas."
    echo "transfert -get : Récupère les fichiers du serveur ***** dans le dossier courant."
    echo "transfert -version : Donne la version du script."
    exit 1
}

#traitement de l'argument
case $1 in

    -send ) case $2 in

                # Transfert les fichiers de votre dossier sur l'équivalent au ** puis connecte au serveur par ssh
                -ssh )    accueil ; remTemp ; scp -r . $username@$serveur:/home/$username/$arbo/${PWD##/*/} ; ssh $username@$serveur ;;
                # Transfert les fichiers de votre dossier sur l'équivalent au ** puis connecte au serveur avec Xnest
                -X )    accueil ; remTemp ; scp -r . $username@$serveur:/home/$username/$arbo/${PWD##/*/} ; Xnest -geometry 1024x768+0+0 -query $serveur :1 ;;
                # Transfert les fichiers de votre dossier sur l'équivalent au ** et ne connecte pas au serveur
                '' )    accueil ; remTemp ; scp -r . $username@$serveur:/home/$username/$arbo/${PWD##/*/} ;;
                * )        helpArgs ;;
            esac ;;
    -get )    case $2 in
                '')    accueil; archi ; getFiles ;  remTemp ;;
                * ) helpArgs ;;
            esac ;;
    -version )    echo "${0##*/} (transfert.sh), version $version-release-$(uname -m) ($(uname -s -r))"
                echo "Auteur : Gilbert Conus" ;;
    * )     helpArgs ;;
esac

Offline

 

#4 25 Apr 2007 14:57:38

OdyX
Membre
From: Renens, Vaud
Registered: 06 Jun 2006
Posts: 484
Website

Re: savoir où l'on se trouve

Salut Gilbert,

J'avais essayé le client vpnc depuis chez moi vers l'EPFL et ça n'avait pas marché. Est-ce que depuis chez toi, en lançant juste le client vpnc, tu arrives à accéder à tes fichiers sur //studentspc7 ?

@+, OdyX

P.S. J'espère que tu viens au souper ADELE demain soir ! tongue

Offline

 

#5 25 Apr 2007 16:15:35

gilbert
Affranchi(e)
 
Registered: 24 Apr 2007
Posts: 3
Website

Re: savoir où l'on se trouve

Salut, c'est qui qui me connait comme ça ? :p

bah ça marche très bien ce script depuis chez moi, avec vpnc smile mais si je l'exécute depuis le CO5 ou CO6 par exemple, la fonction accueil ne marchera pas du tout... parcque le réseau de l'epfl se trouve sur eth0...

Mais pour répondre à ta question, j'arrive à accéder à mes fichiers depuis chez moi avec vpnc. Le problème est que j'aimerai rendre mon script fonctionnel sur n'importe quelle machine qui aie un bash.

A+ Gilbert.

Offline

 

Board footer

Powered by FluxBB