IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script KSH à faire


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 138
    Par défaut Script KSH à faire
    Bonjour à tous, débutant en korn-shell, je suis nouveau dans ce forum et je voudrais avoir un renseignement:

    Mon petit travail au sein d'une entreprise est de comparer deux serveurs :
    pour cela la 1ère étape est d'écrire un script qui va automatiser le lancement d'un logiciel sur le serveur même. ( le logiciel est CFT, une sorte de crontab).

    Le script que je veux faire est le suivant :
    quand je me connecte en ssh sur le serveur, je veux lancer mon script qui va s'identifier sur le logiciel avec un un autre utilisateur ( su - quelque chose).
    Ensuite il faut simplement naviguer dans des répertoires, créer un fichier, le remplir.

    Le problème c'est que quand je crée mon script ksh, je lui dit de s'identifier ( su - quelque chose), puis il se connecte bien mais il ne fait plus rien !
    Dans mon script je lui dit d'aller sur un chemin ( cd .../.../...).
    Le problème c'est que il ne vas pas là.

    Mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/ksh
    echo " script lancé"
     
    su - ...
     
    cd .../.../...
    mkdir....

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Bonjour,

    ce n'est pas un problème KSH.
    Le problème est d'exécuter un script qui n'est pas sur le serveur ssh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh user@machine < /chemin_local/ton_Script
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /chemin_local/ton_Script | ssh user@machine
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 138
    Par défaut
    A ok, donc je lance la commande ssh@nom serveur </chemin local de mon script>?

    le problème c'est que mon script se trouve sur le serveur mais sur mon identifiant, or je veux que le script démarre une session sur le même serveur mais sous un autre ID

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    d'accord :
    Code scriptDistant : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/usr/bin/ksh
     
    su -l autreUser -c '
    pwd
    cd ../..
    ls
    '
    et sur ta machine locale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh -t user@machine /cheminDistant/scriptDistant
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 138
    Par défaut
    Je pense qu'on ne se comprend pas , je t'explique:

    mon script est créé et lancé sur le serveur mais avec mon user, or les résultats que je veux obtenir (création fichier ...etc) doivent se faire sur le même serveur mais avec un autre ID.

    Donc que je suis connecté sur mon serveur via putty avec mon ID a moi, je lance monscript xxx.sh puis voici ce que ça me fait:

    je suis connecté sur le serveur mais avec l'autre ID, et je voudrais que ça se promène dans un répertoire spécial et qui me crée un fichier, mais je n'arrive pas.

    Ma question globale est la suivante:

    Peut-on lancer un script sur un serveur A avec l'user 00 qui va créer, modifier, supprimer des fichiers sur le serveur A avec l'user 01?

    Merci

    Et bien sûr Bonne année!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 138
    Par défaut
    Autre question:

    si je veux faire un script shell qui a pour unique but d'aller dans un répertoire voulu, puis-je utiliser la commande "cd"?
    il me semble que cela n'est pas possible

    et la première question vous avez compris ?

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Citation Envoyé par ghostrider95
    si je veux faire un script shell qui a pour unique but d'aller dans un répertoire voulu, puis-je utiliser la commande "cd"?
    il me semble que cela n'est pas possible
    en effet, ce n'est pas possible : le déplacement par cd n'aura lieu qu'à l'intérieur du sous-processus que constitue le script.
    et la première question vous avez compris ?
    non, désolé
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 138
    Par défaut
    Peut-on lancer un script sur un serveur A avec l'user 00 qui va créer, modifier ou supprimer des fichiers sur le serveur A avec l'user 01?

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    non, en tout cas pas de cette façon, sauf si le user 00 est le root :
    la commande "su" demandera EN INTERACTIF le mot de passe pour tout utilisateur (sauf root).

Discussions similaires

  1. Script pour faire défiler des infos
    Par waddle dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2006, 14h54
  2. Script Ksh
    Par tonymontana4192 dans le forum Linux
    Réponses: 6
    Dernier message: 20/12/2005, 10h51
  3. petit scripte a faire pour un l'ecole
    Par sircam61 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/12/2005, 14h44
  4. Execution d'un script ksh distant
    Par jool dans le forum C++
    Réponses: 2
    Dernier message: 18/03/2005, 10h10
  5. Script ksh - Valeur maximal d'un PID
    Par fidififouille dans le forum Linux
    Réponses: 7
    Dernier message: 09/08/2004, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo