[commandes unix]Topic d'aide sur les commandes Unix

Autres projets et contributions
Répondre
Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

[commandes unix]Topic d'aide sur les commandes Unix

Message par cassyb »

salut à tous,

Quand on lance la commande
ps -eo user,pid,start -o comm= | grep rsync

Avez-vous une idée pour que la colonne start soit au format timestamp?

merci.
Cassy.
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

aucune idée, mais si tu récupère le pid, tu peux trouver le timestamp dans /proc/n°du_pid/stat
Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

Message par cassyb »

salut wain,
merci pour cette astuce mais c'est exprimé en jiffie (1jiffie -> 4ms) d'après wikipedia.
j'ai repérer les colonnes qui varient avec le temps et je sais pas quelle colonne prendre car aucune semble coherente genre au bout d'une minute il devrait y avoir une colonne qui avoisine 15000 or ce n'est pas le cas.
Aucune ne ressemble au timestamp non plus, ni même à un timestamp "jiffilisé" (timestamp*250)

du coup j'ai fait:

Code : Tout sélectionner

ps -eo user,pid,lstart -o comm= | grep rsync
j'ai donc remplacer start par lstart qui donne la date complete
puis je la converti en timestamp
date -d "Tue Sep 25 17:22:27 2007" +%s
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

ok ça me paraît être une bonne solution. J'ai appris plein de trucs là :D
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

bon à savoir, je savais pas que date pouvait servir à transformer une date autre que celle courante :)
Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

Message par cassyb »

Salut,
J'ai un fichier de log

Code : Tout sélectionner

 Initiateur               XcMonPre
 Correspondant            COMM    
 Ident GrpId Num Marque   1Iq57IEg0           [000000437] [            ]
 Utilisateur              default     
 Sens Type Comp Crypt     [S] [A] [N] [N]
 Etat Org Err Rtry Taux   [R] [20] [000] [00] [00]
 Taille Temps             [0000009690] [000000]
 Nom symb Local                       
 Nom fichier Local        /home/ftp/xcmon/37B/37B20071108120008
 Nom symb Distant         SPAR37B     
 Nom fichier Distant      /SPAR\magellan\in\37B20071108120008
 Date de planification    
 Date d'initialisation    08/11/2007 12:00:08
 Date dernier etat        08/11/2007 12:00:12
 FTP process              1836        
 Initiateur               XcMonPre
...
j'aimerais faire un grep sur 37B20071108120008 et avoir la ligne 3ème ligne du dessus
Etat Org Err Rtry Taux [R] [20] [000] [00] [00]
En gros j'aimerais que le resultat soit de cette forme:
Nom fichier Local /home/ftp/xcmon/37B/37B20071108120008
Etat Org Err Rtry Taux [R] [20] [000] [00] [00]
vous avez une idée sur comment je pourrais faire ça?
merci pour votre aide
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Code : Tout sélectionner

grep -B 3 37B20071108120008 | grep -v Temps | grep -v symb
est une solution. On pourrait en imagine d'autres avec awk ou sed
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

J'ai vu que j'ai oublié de swapper les deux lignes. De mémoie sed permet de le faire, mais je ne me souviens plus de la commande. si y'a un expert en awk, ca vaudrait le coup de se pencher sur la question ;-)
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

À essayer avec awk :
Prendre '\n' (le passage à la ligne) comme séparateur de champ et demander d'afficher les champs (qui seront des lignes) 9 et 6 !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

Message par cassyb »

b'hein ta commande marche nikel...
grand merci.
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Bah, c'est juste que c'est ni optimal, ni élégant ! Passer par deux tubes, ca n'as rien de propre je trouve !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Répondre