Redirection totalite script shell

Résolu
Bonjour,

J'ai un script shell (xxxx.sh) qui s'exécute sur un tru64.
Celui-ci est lancé depuis un batch (xxxx.cmd) sur un windows XP via la commande putty....

Est-il possible de redigirer directement le resultat du shell dans un fichier sur la machine windows où est lancé le batch car si je redirige a l'interieur du ".sh" je peux seulement redigirer sur ce serveur??

Merci d'avance...

11 réponses

  1. bah ce n'etait pas vraiment un problème.
    C'était plutot de l'optimisation mais j'aurai du réfléchir plus longtemps a la question pour arriver a la conclusion que ce n'était pas vraiment possible.
    le fait est que je vais utiliser la méthode de clefs ssh.

    Donc oui le "probleme" est résolu.

    Merci pour tout....
    1. Modérateur
      Parfait, je marque ton sujet en résolu dans ce cas :-)
  2. Modérateur
    Bah ton soucis de deux connexions consécutives devient transparent si tu utilises des clés ssh :-) Enfin si tu connais je pense que tu as compris à quoi je pensais ;-)

    Du coup, est-ce que ton problème est résolu ?
    1. Oui oui je vois je connais le système de clés ssh mais je voulais eviter cela.
      Enfin tu as raison je suis dans tous les cas obliger d'avoir 2 connections...

      En tout cas merci pour l'aide...
      1. Modérateur
        Je valide. Comme dans tous les cas tu vas avoir plusieurs connexions ssh consécutives (et en vue d'automatiser l'exécution du script), je t'invite à regarder comment fonctionnent les clés ssh :
        http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant

        Ainsi tu peux lancer autant de commandes ssh/scp dans ton script client que tu le souhaites, du moment que la clé est accessible, tout fonctionnera de manière transparente.

        Est-ce que ton problème est résolu ?

        Bonne chance
        1. il ne connait pas l'option "-log"

          J'ai deux connexions:
          la première lance le script sur le serveur
          la deuxième récupère en sftp la log
          1. Modérateur
            En complément à ce que dis zipe31, je ne vois pas pourquoi invoquer un script via putty et lancer des commandes directement sur une connexion ssh engendre deux connexions.
            1. Contributeur
              Salut,

              Extrait du man putty :

                     -log filename
                     This option makes putty log all the terminal output to 
                     a file as well as displaying it in the terminal.

              Ça ne ferait pas l'affaire ?
              1. merci pour tes reponses;

                mais en effet c'est ce que je fais pour le moment.
                A la suite de la commande explicité ci dessus je lance une seconde commande qui me rapatrie la log du shell qui est sur le serveur en sftp sur mon windows mais cela nécessite 2 connexions au serveur alors que je souhaiterai en avoir une seule (le temps serait divisé par 2)....

                Vois tu le probleme?
                Est ce possible?
                1. Modérateur
                  Je suis pas sur que c'est ce que je recherche car je n'est pas la commande ssh sur windows.
                  Mais je vais donner quelques précisions.

                  Depuis mon poste windows XP. J'exécute ce batch:
                  putty -ssh -P 22 -pw %MDP% %USER%@%IP% -m shell.sh


                  Ceci revient aux commandes ssh auxquelles on passe une commande en paramètre. Tu peux donc adapter ton script dans cet esprit pour qu'il soit lancé par la machine windows.

                  Le probleme est le suivant:
                  si je mets ceci:
                  putty -ssh -P 22 -pw %MDP% %USER%@%IP% -m shell.sh >%log% 2>&1
                  ce n'est pas le resultat du shell que j'ai dans la log mais le resultat de la commande putty.


                  Oui c'est normal, le script écrit sur sa machine. Il faut donc qu'il soit lancé depuis la machine windows. Autre solution plus simple, on peut imaginer que tu complètes ton script putty pour faire une copie sur ssh pour rappatrier le log (cf scp ou équivalent)

                  Et si je mets les redirections dans le shell unix (xxxxx.sh) la log se met sur le serveur où est exécuté ce shell.

                  Tu ne peux pas t'en sortir avec des redirections.

                  Est-il possible d'avoir la log du shell unix directement sur mon poste XP???

                  Oui si le script est sur la machine windows (et corrigé en conséquence) ou si ton script windows rappatrie le log par scp.

                  Bonne chance
                  1. Je suis pas sur que c'est ce que je recherche car je n'est pas la commande ssh sur windows.
                    Mais je vais donner quelques précisions.

                    Depuis mon poste windows XP. J'exécute ce batch:
                    putty -ssh -P 22 -pw %MDP% %USER%@%IP% -m shell.sh

                    Le probleme est le suivant:
                    si je mets ceci:
                    putty -ssh -P 22 -pw %MDP% %USER%@%IP% -m shell.sh >%log% 2>&1
                    ce n'est pas le resultat du shell que j'ai dans la log mais le resultat de la commande putty.

                    Et si je mets les redirections dans le shell unix (xxxxx.sh) la log se met sur le serveur où est exécuté ce shell.

                    Est-il possible d'avoir la log du shell unix directement sur mon poste XP???
                    1. Modérateur
                      Uniquement sur le serveur. Une autre solution consiste à appeler la commande de la machine distante depuis la machine locale en la passant en paramètre à ssh.

                      Exemple :

                      ssh login@host commande 1> out.txt 2> err.txt


                      Si tu utilises une clé ssh on peut tout à fait imaginer une script qui combine des commandes lancées en local et d'autre sur la machine distante (et précédées de ssh login@host).

                      Bonne chance