Connaitre toutes les execution d'une commande
Fermé
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
-
Modifié par xunil2003 le 3/06/2012 à 14:05
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 3 juin 2012 à 20:49
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 3 juin 2012 à 20:49
A voir également:
- Connaitre toutes les execution d'une commande
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
4 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
3 juin 2012 à 14:10
3 juin 2012 à 14:10
hello
regarder du côté de l'accounting : https://linux-attitude.fr/post/process-accounting
regarder du côté de l'accounting : https://linux-attitude.fr/post/process-accounting
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 3/06/2012 à 19:37
Modifié par jisisv le 3/06/2012 à 19:37
Qu'entends-tu par "toutes les exécutions effectuer d'une commande " ?
Connaître les appels système effectués par le binaire ?
Si c'est le cas , dirige-toi vers strace
Un exemple: rechercher tous les essaisd'ouverture de la commande mdir n:
Donc: man 1 strace
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
Connaître les appels système effectués par le binaire ?
Si c'est le cas , dirige-toi vers strace
Un exemple: rechercher tous les essaisd'ouverture de la commande mdir n:
johand@osiris: ~/tmp $ strace -o mdir.log mdir n: Volume in drive N is ARCHOS 2 Volume Serial Number is E86A-0002 Directory for N:/ PHOTO <DIR> 1980-00-00 0:00 MUSIC <DIR> 2012-05-11 18:12 VIDEO <DIR> 1980-00-00 0:00 RECORD <DIR> 1980-00-00 0:00 4 files 11 663 312 bytes 15 732 834 304 bytes free johand@osiris: ~/tmp $ grep open mdir.log open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY) = 3 open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3 open("/etc/mtools.conf", O_RDONLY) = 3 open("/etc/default/mtools.conf", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/mtools.conf", O_RDONLY) = 3 open("/home/johand/.mtoolsrc", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/disk/by-uuid/E86A-0002", O_RDONLY|O_EXCL) = 3 open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 4 open("/usr/lib/x86_64-linux-gnu/gconv/IBM850.so", O_RDONLY) = 4 open("/etc/localtime", O_RDONLY)
Donc: man 1 strace
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
3 juin 2012 à 20:00
3 juin 2012 à 20:00
Bonsoir,
C'est pour un projet.
J'ai besoin de récupèrer toutes les exécution qui ont était réalisé avec la commande
Exemple : si un utilisateur tape :
cm15 A1 on
cm15 E1 off
cm15 P16 on
uniquement pour cette commande, je veux pouvoir le voir dans un fichier log
du genre :
la question est comment faire ?
Merci.
C'est pour un projet.
J'ai besoin de récupèrer toutes les exécution qui ont était réalisé avec la commande
cm15situé dans
/usr/bin/
Exemple : si un utilisateur tape :
cm15 A1 on
cm15 E1 off
cm15 P16 on
uniquement pour cette commande, je veux pouvoir le voir dans un fichier log
du genre :
03-06-2012 - 07:16:47 - cm15 A1 on 03-06-2012 - 16:16:47 - cm15 E1 off 03-06-2012 - 18:16:47 - cm15 P16 on
la question est comment faire ?
Merci.
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 3/06/2012 à 21:12
Modifié par jisisv le 3/06/2012 à 21:12
Ecris un script du genre :
Evidemment, si tu possèdes les sources du binaire, rien ne t'empêche d'ajouter une fonction de journalisation.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
johand@osiris: ~/tmp $ cat ls-log.sh #!/bin/bash CMD=/bin/ls LOGFILE=/home/johand/log/$(basename $CMD ).log NOW=$(date) # ou plus rapide NOW=$(printf '%(%x %X)T' -1) # puisque printf est une commande interne de bash cat >> $LOGFILE <<LOGITEM $NOW: $@ LOGITEM exec $CMD $@ johand@osiris: ~/tmp $ cat ls-log.sh #!/bin/bash CMD=/bin/ls LOGFILE=/home/johand/log/$(basename $CMD ).log NOW=$(date) cat >> $LOGFILE <<LOGITEM $NOW: $@ LOGITEM exec $CMD $@ johand@osiris: ~/tmp $ ./ls-log.sh /tmp /usr > /dev/null johand@osiris: ~/tmp $ cat ~/log/ls.log dimanche 3 juin 2012, 20:45:11 (UTC+0200): /tmp /usr
Evidemment, si tu possèdes les sources du binaire, rien ne t'empêche d'ajouter une fonction de journalisation.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)