Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2007, 17h43   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 265
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 265
Points : 63
Points : 63
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.
smutmutant2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 19h15   #2
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
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.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 19h58   #3
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
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
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 07h35   #4
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
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 : 3 546
Points : 7 776
Points : 7 776
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 :
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
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 09h43   #5
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
J'apporte cette precision :
Code :
time mysql $DATABASE < $CHEMIN_DUMP_SQL
Dans ce genre d'operation, l'usage de .my.cnf est tres utile.
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h50   #6
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
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.
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 13h29   #7
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Exact, j'en profite pour preciser que bzip2 propose differrents niveaux de compression.
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 14h09   #8
Membre du Club
 
Inscription : janvier 2007
Messages : 265
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 265
Points : 63
Points : 63
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 :
1
2
3
4
 
$cd ==> vers mon dossier
$sqlplus monlogin/monpassworth@MONHOTE
$@migration.sql
Le second
Code :
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
smutmutant2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 18h14   #9
Membre habitué
 
Avatar de baroudi
 
Inscription : avril 2006
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2006
Messages : 117
Points : 129
Points : 129
Envoyer un message via MSN à baroudi
Bonjour,
à ce que je vois tu utilise Oracle
Les commandes sont bonnes ,il faut juste enlever les $ dans ton script sh
pour le reste je pense que c'est bon
baroudi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h04.


 
 
 
 
Partenaires

Hébergement Web