[Script] Demande de conseil

Demande de conseil [Script] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 14-10-2010 à 17:31:13    

Bonjour,
 
Je dois realiser un script et je rencontre un probleme :
 

Code :
  1. VOLUME GROUP:       toto                   VG IDENTIFIER:  0000000000000000000000000000000000
  2. VG STATE:           active                   PP SIZE:        128 megabyte(s)
  3. VG PERMISSION:      read/write               TOTAL PPs:      374 (4787 megabytes)
  4. MAX LVs:            512                      FREE PPs:       153 (1963 megabytes)


 
je dois extraire lors de l'utilisation de la commande lsvg nom_du_vg le nombre de FREE PPs: donc 153 dans notre exemple
je suis parti sur sed et awk pour recuperer uniquement ce nombre mais ca foire completement et l'utilisation est pas tres claire pour moi.
 
Avez vous une idée ?


---------------
un sabre est une arme. le kenjutsu, une technique de mort. Peu importent les bonnes intentions, c'est la seul vérité. On tue pour protéger. On tue pour que d'autres vivent. C'est ca, la vérité du sabre.
Reply

Marsh Posté le 14-10-2010 à 17:31:13   

Reply

Marsh Posté le 14-10-2010 à 18:15:36    

grep MAX LVs fichier.txt|awk '{print $6}'


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 14-10-2010 à 20:23:15    

Rhhooo le useless use of grep ! ;)
 
Sur d'autres forums, j'aurais placé :
http://www.sputnick-area.net/award?v=grep&n=Homer_Simpson
http://partmaps.org/era/unix/award.html
 
;)
 
 

Code :
  1. awk '/^MAX LVs/{print $6}' fichier.txt

Reply

Marsh Posté le 14-10-2010 à 20:52:56    

sputnick a écrit :

Rhhooo le useless use of grep ! ;)
 
Sur d'autres forums, j'aurais placé :
http://www.sputnick-area.net/award [...] er_Simpson
http://partmaps.org/era/unix/award.html
 
;)
 
 

Code :
  1. awk '/^MAX LVs/{print $6}' fichier.txt



Et encore, j’ai pensé à Black_Lord et j’ai évité le cat en pôle position.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 18-10-2010 à 15:37:53    

Merci en tt cas les gars.
 
Il y a quand meme des choses pas tres clair comment une banale multiplication du style a = &z * &x devient un calvaire.
 

Code :
  1. free=`$free_PE * $size_PE`
  2. echo $free


 
 
 
ne fonctionne pas (j ai un peu pret tt essayé sans quote ... double quote ... parenthese $(...) ... avec expr ...  
La plupart du temps il me sort l'erreur 1500 not found (qui correspond a la valeur de free_PE)
 
Je suis en ksh sur AIX et tt les exemples que j'ai essayé sur le net ne fonctionne pas.


---------------
un sabre est une arme. le kenjutsu, une technique de mort. Peu importent les bonnes intentions, c'est la seul vérité. On tue pour protéger. On tue pour que d'autres vivent. C'est ca, la vérité du sabre.
Reply

Marsh Posté le 18-10-2010 à 16:08:15    

warmastercs a écrit :

Merci en tt cas les gars.
 
Il y a quand meme des choses pas tres clair comment une banale multiplication du style a = &z * &x devient un calvaire.
 

Code :
  1. free=`$free_PE * $size_PE`
  2. echo $free


 
 
 
ne fonctionne pas (j ai un peu pret tt essayé sans quote ... double quote ... parenthese $(...) ... avec expr ...  
La plupart du temps il me sort l'erreur 1500 not found (qui correspond a la valeur de free_PE)
 
Je suis en ksh sur AIX et tt les exemples que j'ai essayé sur le net ne fonctionne pas.


Peut etre avec ca
 

Code :
  1. echo $((free_PE * size_PE))

Reply

Marsh Posté le 18-10-2010 à 16:09:53    

encore un bashism [:bien] personne n'a jamais entendu parler de POSIX ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 18-10-2010 à 18:29:03    

black_lord a écrit :

encore un bashism [:bien] personne n'a jamais entendu parler de POSIX ?


T’utilises quoi comme shell pour être sûr de faire du Posix ?
 

Spoiler :

Au cas ou : simple question, pas d’attaque.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 18-10-2010 à 19:07:31    

c'est moi qui m'assure de faire du posix, pas le shell. Et j'utilise zsh en shell de tous les jours, sh pour les scripts.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 28-10-2010 à 12:22:53    

Le probleme etant que ksh n'est pas ma tasse de thé mais plutot python donc je garde le meme mode de fonctionnement
 
Je dois mettre en en tete de mon script un condition de lancement sur le jour et l'heure (mon script est automatiquement lancé par une plateforme tte les 10 min) en gros par exemple tt les matins entre 07:00 et 07:20 le reste du temps il sera lancé mais ne produira rien
 
Ce qui donne quelques chose comme ca :
 

Code :
  1. if ((`date +%w` -ne [0] || `date +%w` -ne [6]) && `date +%H%M` -ge 0710 && `date +%H%M` -le 0720


 
Il y a deux choses qui m'etonne , je suis obligé de faire des ET et OU en masse
Peux t'on regrouper plus facilement ?  
 
La premier parti est d'exclure le week end ceci ne fonctionnerait pas : `date +%w` -eq [1-5] ?
Ma deuxieme partie est d'appliquer une tranche horaire d'execution, a l'origine je cherchais un COMPRIS ENTRE : 0710<= `date +%H%M`>=0720
 
Ce qui facileterais la clairvoyance du script


Message édité par warmastercs le 28-10-2010 à 12:24:58

---------------
un sabre est une arme. le kenjutsu, une technique de mort. Peu importent les bonnes intentions, c'est la seul vérité. On tue pour protéger. On tue pour que d'autres vivent. C'est ca, la vérité du sabre.
Reply

Marsh Posté le 28-10-2010 à 12:22:53   

Reply

Marsh Posté le 28-10-2010 à 12:35:03    

Un cron ne serait pas plus adapté pour cela ?

Reply

Marsh Posté le 28-10-2010 à 13:10:51    

si.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 28-10-2010 à 13:12:14    

Je suis parti sur la crontab mais le script a pour but de pas etre lié a la machine. Comprendre : tu deposes le script sur une machine dans un repertoire particulier et terminé. Si il y a trop de machines tu vas etre obliger de modifier ttes les crontab du root. Mais effectivement ca aurait ete plus simple.

Reply

Marsh Posté le 28-10-2010 à 13:25:49    

c'est pour ça que les outils de configuration management existent :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 28-10-2010 à 13:37:24    

Tu parles de tache TCM par exemple pour mettre a jour le parc ?
Le probleme etant que je fais le script mais il s'agit de le transmettre a des gens et qu'il soit autonome avec. J'ai pas envie qu'il m appelle tte les 10s pour me dire tu peux mettre a jour la ... le lendemain on a mis le script la tu peux mettre a jour ici. Le gros avantage pour moi et ce qu'on ma demandé c'est de leur transmettre le repertoire qui est concerné et il se debrouille apres (pas de probleme de droits, ni de gestion).


Message édité par warmastercs le 28-10-2010 à 13:38:38

---------------
un sabre est une arme. le kenjutsu, une technique de mort. Peu importent les bonnes intentions, c'est la seul vérité. On tue pour protéger. On tue pour que d'autres vivent. C'est ca, la vérité du sabre.
Reply

Marsh Posté le 30-10-2010 à 10:35:48    

warmastercs a écrit :

Je suis parti sur la crontab mais le script a pour but de pas etre lié a la machine. Comprendre : tu deposes le script sur une machine dans un repertoire particulier et terminé. Si il y a trop de machines tu vas etre obliger de modifier ttes les crontab du root. Mais effectivement ca aurait ete plus simple.


/etc/cron.d/
 
De rien :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed