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 :

Mini Script shell ajoutant toutes les 5 mn date,heure et liste des PID de tous les processus en fonctionnement


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Par défaut Mini Script shell ajoutant toutes les 5 mn date,heure et liste des PID de tous les processus en fonctionnement
    Bonjour à tous !!

    Est-ce que vous pourriez m'aider ?
    Je souhaiterais mettre en place un petit script shell trace.sh dans le repertoire personnel de root qui toutes les 5 minutes, ajoute la date, l’heure et la liste des PID et uniquement les PID de tous les processus en cours de fonctionnement, le tout dans un fichier nommé « /tmp/process.txt ».

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 120
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 120
    Par défaut
    Citation Envoyé par sinnas Voir le message
    Est-ce que vous pourriez m'aider ?
    Et c'est quoi le problème ?
    T'as raison, oui, levons les yeux au ciel...

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Par défaut
    Je ne sais pas comment faire

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 120
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 120
    Par défaut
    Citation Envoyé par sinnas Voir le message
    Je ne sais pas comment faire


    Hey, c'est pas moi qui ai mis dans mon avatar "administrateur systèmes et réseaux", et ce que tu demandes, c'est la base de l'administration système et réseaux, hein !

    Alors bon, je suis bon prince, man date, man crontab, man pidof et hop !

  5. #5
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par sinnas Voir le message
    la liste des PID et uniquement les PID de tous les processus en cours de fonctionnement
    Il faudrait définir ce qu'on entend par "en cours de fonctionnement".

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Par défaut
    Merci je sais pas si c'est bon, je vais essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # !/bin/bash
     
    */5 * * * * date ‘+%D %T’ |  t =’pidof $processus>> /root/

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Bonjour,

    non, c'est pas bon; c'est même du grand n'importe quoi.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par sinnas Voir le message
    Merci je sais pas si c'est bon, je vais essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # !/bin/bash
     
    */5 * * * * date ‘+%D %T’ |  t =’pidof $processus>> /root/
    Non, mais avant de mettre quoi que ce soit dans la crontab, essaie déjà de faire la commande à la main ou dans un script!

    D'abord la commande qui affiche ce que tu veux à l'écran.

    Puis la même qui met le résultat dans un fichier.

    Puis dans la crontab.

  9. #9
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    Citation Envoyé par sinnas Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # !/bin/bash
    */5 * * * * date ‘+%D %T’ |  t =’pidof $processus>> /root/
    • si c'est un fichier de crontab le shebang #!/bin/bash n'a rien à y faire, si c'est un script bash la ligne */5 * * ... va lever une erreur
    • commande | variable=truc ça n'existe simplement pas, en plus tu ferais une affectation de variable alors que ce que tu veux c'est afficher le résultat
    • /root/ est un répertoire, tu fais une redirection dans un fichier
    • méfiance avec le format %D de date il sort un format US avec mois/jour/année


    donc, N_BaH a raison c'est du grand n'importe quoi ton script, jack-ft a raison également; avant de vouloir mettre en cron tu pourrais tester tes commandes, tu te rendrais compte qu'elle ne fonctionne pas le moins du monde, tu es vraisemblablement très débutant en scripting shell et en administration sous Linux, pas de mystère : faut pratiquer encore et encore

    • on veut afficher quelque chose du genre DATE LISTEDEPID, donc on utilisera echo pour afficher
    • DATE peut correspondre à quelque chose du genre date +'%d/%m/%Y %T'
    • LISTEDEPID nécessite de triturer un peu les options de ps, puis enlever la 1ère ligne pour ne garder que ce qui nous intéresse (grace à tail), et mettre le tout sur la même ligne plutot qu'un pid sur chaque ligne (ici via xargs, c'est une astuce)
    • on utilisera la substitution de processus $() pour enfermer chaque commande dans le echo
    • enfin il faudra rediriger ce qu'on affichera dans un fichier, en mode ajout>> fichier


    à l'arrivée on peut envisager quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */5 * * * * root echo "$(date +'%D %T') $(ps -eo pid | tail -n+2 | xargs)" >> fichier
    ou encore si on veut comptabiliser les threads également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */5 * * * * root echo "$(date +'%D %T') $(ps -eLo spid | tail -n+2 | xargs)"  >> fichier
    la ligne ira telle quel dans le fichier /etc/crontab par exemple

    tu as ta solution, c'est dans ton intérêt de chercher à la décortiquer et comprendre comment elle fonctionne, à toi de voir

  10. #10
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    à l'arrivée on peut envisager quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */5 * * * * root echo "$(date +'%D %T') $(ps -eo pid | tail -n+2 | xargs)" >> fichier
    Cette instruction du fichier crontab peut être simplifiée en supprimant le tail et le xargs comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */5 * * * * root echo $(date +'%D %T') $(ps -eo pid=) >> fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2010, 08h29
  2. Réponses: 2
    Dernier message: 19/09/2009, 16h36
  3. Recherche sur tous les forums active en heures creuses
    Par Anomaly dans le forum Evolutions du club
    Réponses: 7
    Dernier message: 10/05/2006, 20h38
  4. [Forum] Des erreurs avec tous les scripts PHP
    Par sensoo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 25/04/2006, 18h41

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