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 :

Calcul de temps en Shell et faire un tar


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut Calcul de temps en Shell et faire un tar
    Comme je l'avais dit je reviens vers vous pour avoir l'esquisse d'une solution qui m'aidera beaucoups.
    En fait j'ai un probleme spécifiquement shell que voici.
    J'ai script shell qui doit lancer un fichier .sql qui va mettre un certain temps a s'éxécuter, puisque celui-ci doit extraire d'une table plusieurs millions d'enregistrements, puis ensuite generer un fichier .csv avec les enregistrements.
    Je voudrai dans premier temps un script shell qui lance le fichier sql, ça aussi je ne sais pas le faire.
    Et un autre script shell qui calcule temps que met le fichier sql a s'executer.
    Puis pour finir comment faire un tar avec ce fichier .csv???.


    En vous remerçiant à l'avance.

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Pour ce qui est du temps mis par le script mysql, cela ne me paraît pas forcément intéressant.

    Il suffit d'attendre que cela soit fini. Dans un script, une commande n'a pas lieu tant que la suivante n'est pas terminée.

    A priori tu peux régler tout ça en un seul script.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Il ne faut pas faire un tarball avec un seul fichier, il faut juste le compresser.
    man bzip2

    A titre indicatif, vous pouvez troujours preceder votre commande avec "time" qui rapportera quelques statistiques temporelles sur la commande.
    man time

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par smutmutant2003
    Je voudrai dans premier temps un script shell qui lance le fichier sql, ça aussi je ne sais pas le faire.
    Et un autre script shell qui calcule temps que met le fichier sql a s'executer.
    Puis pour finir comment faire un tar avec ce fichier .csv???.

    En vous remerçiant à l'avance.

    la commande time permet de meusurer le temps d'execution d'une commande

    ton script pourrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/sh
    time $(commande_mysql parametres_si_il_en_faut le_fichier_sql_a_executer)
    bzip2 -9 truc.cvs
    ne connaissant pas mysql je peux pas te donner la ligne réelle à faire

  5. #5
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    J'apporte cette precision :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    time mysql $DATABASE < $CHEMIN_DUMP_SQL
    Dans ce genre d'operation, l'usage de .my.cnf est tres utile.

  6. #6
    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
    Attention sur un fichier trés grand bzip2 risque d'être trés long a l'exécution et l'usage de gzip peut s'avérer beaucoup plus performant en terme de temps.

  7. #7
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Exact, j'en profite pour preciser que bzip2 propose differrents niveaux de compression.

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    Déjas je tiens à vous remercier tous pour votre aide.
    Je vous explique le contexte, nous avons un server Redhat dans lequel Oracle est installe. J'ai due faire un script sql qui devait m'extraire des données et les écrire dans un fichier cvs qui s'appelle fichierExtraction.cvs. Donc ça c'est fait, et de ce coté la je suis tranquille.
    Mon fichier sql s'appelle migration.sql.
    Maintenant je dois aller dans Linux
    Faire ceci
    Voila le premier script shell que j'appellerai premierscript.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $cd ==> vers mon dossier
    $sqlplus monlogin/monpassworth@MONHOTE
    $@migration.sql
    Le second
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $time premierscript.sh
    $tar -cvf /users/moi/mondossier/monfichier.tar fichierExtraction.cvs
    Dites moi si les commandes comportent des erreurs.
    En vous remerçiant à l'avance.


    Cordialement

Discussions similaires

  1. Calcul du temps d'exécution d'un script shell
    Par a-rh19 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 23/05/2014, 20h42
  2. Script shell qui calcule le temps de traitement du script
    Par 20132014 dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 10/08/2013, 14h37
  3. calculer le Temp écoulé
    Par ada_b dans le forum SQL
    Réponses: 1
    Dernier message: 30/11/2004, 09h44
  4. [MFC] : CTime ? Calcul de temps d'éxécution
    Par jonzuzu dans le forum MFC
    Réponses: 10
    Dernier message: 25/05/2004, 14h22
  5. Réponses: 8
    Dernier message: 18/09/2002, 03h20

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