Forum Programmation.shell direction d'une requete dans fichier log

Posté par  .
Étiquettes : aucune
0
30
jan.
2007
J'ai un script ksh,
dedans un requete sql, j'aimerai savoir comment rediriger le resultat de ma requete dans un fichier de log

voici a quoi resemble mon script

#!/bin/ksh

sqlplus login/password @requete.sql


c'est court mais ça marche!!!

merci pour vos reponses....
  • # Redirection vers un fichier

    Posté par  (site web personnel) . Évalué à 2.

    En executant ton script tu peux rediriger la sortie vers un fichier de cette manière :

    $./mon-script > fichier.log

    À voir comment ton script est appellé.
    • [^] # Re: Redirection vers un fichier

      Posté par  . Évalué à 1.

      Merci Ellendhel ,
      ta reponse m'a bien aidé, il y'a juste un point que j'ai oublié de précisé, je voudrais eviter d'ecraser mon fichier, le problem qui se pose,
      c'est qu'a chaque execution du script ma log est ecrasé du coup elle perd completement sa fonction "log", il n'y'a pas d'historique,.

      En fait dans ce fichier j'aimerais avoir les champs date et heure en plus pour pouvoir tracer mes infos.

      Si jamais tu as la solution ou une alternative pour pouvoir resoudre ce petit bug.

      Merci
      • [^] # Re: Redirection vers un fichier

        Posté par  . Évalué à 3.

        Pour ne pas écraser mais écrire à la suite remplace le ">" par ">>"

        Dibat
        • [^] # Re: Redirection vers un fichier

          Posté par  . Évalué à 2.

          ouppss j'oubliais pour la date et heure tu peux utiliser la commande date. A chaud comme ça je dirai de faire :

          date >> fichier.log & ./script.sh >> fichier.log

          c'est très crade mais ça marche :)
          • [^] # Re: Redirection vers un fichier

            Posté par  . Évalué à 3.

            Petite faute d'inattention : il faudrait une double esperluette. :-)

            Sinon, tee est très pratique pour voir le résultat d'une commande tout en ayant un log :

            dosomestuff | tee -a log


            Quelque chose m'intrigue byace : tu sembles administrer des bases de données tout en ignorant des concepts extrêmement simples comme la redirection de commandes. Tu a l'air très content d'avoir écrit un script d'une ligne (« c'est court mais ça marche!!! ») que tu appelles "script ksh" alors qu'il n'y a aucun kshisme dedans en dehors du shabang. Aucune honte à cela, tout le monde a été néophyte un jour, et je me rappelle très bien de mes débuts où je ne savais pas comment faire un "ls". Mais je ne gérais pas de bases de données ! Ne prend pas cette remarque mal, c'est jute de la curiosité : je trouve ça bizarre que l'on t'ait confié une telle tâche.
  • # options de sqlplus

    Posté par  . Évalué à 1.

    Comme le dit Ellendhel, tu peux rediriger la sortie du script.

    Pour sqlplus, tu peux aussi utiliser l'option spool dans ton fichier requete.sql
    L'option spool prend en paramètre le fichier destination vers lequel sqlplus redirigera la sortie standard.

    ex fichier.sql
    -8<-------
    SPOOL requete.log
    select bidule from machin where chose = truc;
    (...)
    ----------

    La doc Oracle étant plutôt bien faite, je te laisse explorer les possibilités qu'offre sqlplus (en particulier pour le formattage du résultat).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.