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 :

Quelle est la date de la dernière exécution d'un script ?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 161
    Par défaut Quelle est la date de la dernière exécution d'un script ?
    Bonjour,

    La question du titre, a-t-elle une réponse ?

    J'ai essayé d'obtenir une réponse avec la commande ls avec ce ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ~/projets/github_BEBSHELL$ ls --time=use --sort=time -l ./*/p*.sh
    J'obtiens :
    -rwxr--r-- 1 simone simone 14851 janv. 28 12:31 ./BEB_SHELL_TC_PEA/p00.sh
    -rwxrw-r-- 1 simone simone 3217 janv. 28 12:31 ./BEB_SHELL_TC_PEA/ps0allplus.sh
    -rwxrw-r-- 1 simone simone 6265 janv. 28 12:31 ./BEB_SHELL_TC_PEA/ps0all.sh
    -rwxr--r-- 1 simone simone 3228 janv. 28 12:06 ./BEB_SHELL_XX_NEW/ps0new.sh
    -rwxrw-r-- 1 simone simone 5960 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p8a.sh
    -rwxr--r-- 1 simone simone 2004 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p2.sh
    -rwxr--r-- 1 simone simone 8511 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p3.sh
    -rwxr--r-- 1 simone simone 5273 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p4.sh
    -rwxr--r-- 1 simone simone 4237 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p6.sh
    -rwxr--r-- 1 simone simone 4657 janv. 28 12:06 ./BEB_SHELL_XX_NEW/p7.sh
    . . .
    J'obtiens une liste ordonnée de scripts, du plus récent au plus vieux, apparemment par date d'accès, mais pas par date d'exécution comme j'aurais voulu.
    Y a-t-il une solution?

  2. #2
    Membre chevronné
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2023
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2023
    Messages : 387
    Par défaut
    Bonjour,


    HISTTIMEFORMAT='%d/%m/%y %T ' history?

    Bonne journée.

  3. #3
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 161
    Par défaut
    Merci unanonyme, je ne connaissais pas cette possibilité avec la commande history.

    Dans mon cas, cette solution ne va pas m'aider beaucoup.
    En effet, mes scripts sont souvent composés de (sous-)scripts, qui eux-mêmes peuvent contenir d'autres scripts ; et les appels à ces scripts ne sont pas systématiques.

  4. #4
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 161
    Par défaut
    @Sve@r
    La raison est de repérer, sur un projet donné, en passant toutes les "chaines" hebdomadaires, annuelles et à la demande, les scripts qui ne sont plus utilisés dans ce projet, en vue de faire du ménage en les supprimant.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Liamm Voir le message
    La raison est de repérer, sur un projet donné, en passant toutes les "chaines" hebdomadaires, annuelles et à la demande, les scripts qui ne sont plus utilisés dans ce projet, en vue de faire du ménage en les supprimant.
    Mouais. Donc le projet a été monté à la "va comme je te pousse" avec des scripts placés on ne sait trop pourquoi par on ne sait trop qui et maintenant le but est de les retrouver.

    Solution 1: supprimer tous les scripts et attendre de voir les messages d'erreur du projet quand il appelle un script qui n'existe plus
    Solution 2: placer des logs dans les scripts et voir les logs qui sortent de ceux qui ne sortent pas
    Solution 3 (peut-être la plus sage): refaire le projet dans les règles de l'art plutôt que de jouer à "bricolo et bricolette"...

    Nom : gestion-projet-informatique.jpg
Affichages : 348
Taille : 22,4 Ko
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre confirmé Avatar de Liamm
    Femme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 161
    Par défaut
    @ Sve@r

    Mouais. Donc le projet a été monté à la "va comme je te pousse" avec des scripts placés on ne sait trop pourquoi par on ne sait trop qui et maintenant le but est de les retrouver.
    1/dont :
    avec des scripts placés on ne sait trop pourquoi
    Tous les scripts ont une utilité dans la chronologie du projet; et on sait pourquoi ils ont été créés à un moment donné.

    2/dont :
    par on ne sait trop qui
    L'auteur de chaque script, ainsi que les modifications successives, sont notifiées dans chaque script.

    3/dont :
    et maintenant le but est de les retrouver
    Les retrouver, même si sur 6 environnements différents on sait faire par ce . . .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @HAL42:~/projets/github_BEBSHELL$ find -iname "p*.sh"

    Solution 3 (peut-être la plus sage): refaire le projet dans les règles de l'art plutôt que de jouer à "bricolo et bricolette"...
    Je ne parlerai pas des deux premières solutions comiques.
    Tout est normé dans le projet :
    • Le nom des programmes script
    • Le nom des tables
    • Le nom des fichiers
    • . . .


    D'où la question : C'est quoi, pour vous, les règles de l'art ?

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Liamm Voir le message
    La question du titre, a-t-elle une réponse ?
    Non.

    Citation Envoyé par Liamm Voir le message
    Y a-t-il une solution?
    Non. Un fichier unix possède 3 dates
    • date de dernier accès (la atime). Cette date est mise à jour chaque fois qu'on accède au fichier
    • date de dernière mise à jour (mtime). Cette date est mise à jour chaque fois que le fichier est modifié
    • date de création ou de modification d'inode (ctime). Cette date est mise à jour chaque fois que l'inode associé au fichier change

    Nulle part il n'y a de "date de dernière exécution" (surtout que tout fichier n'est pas forcément script). En toute logique, pour que le script soit exécuté il faut qu'il soit lu donc accédé donc la "atime" est ce qui s'en rapprochera le plus. Toutefois cette date est tellement mise à jour dans tant de cas qu'elle ne veut plus rien dire (comme un chien qui aboie tout le temps ne sert alors à rien pour prévenir d'une présence malvenue) qu'il existe une option pour carrément ne pas la mettre à jour (option "noatime" à mettre au montage du filesystem)

    Peut-être te demander la raison de cette demande. Si c'est pour une question de sécurité il existe des outils de log que l'on peut mettre en place (accounting). Ces outils logguent les actions de tous et donc les scripts appelés...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Toutes versions] Comparaison de date avec horaires. Quelle est la meilleure procédure?
    Par pokypok dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 06/04/2020, 14h05
  2. Quelle est le meilleur selecteur de la date ?
    Par laziolb dans le forum Général Java
    Réponses: 1
    Dernier message: 19/05/2010, 00h18
  3. Quelle est la date d'hier ?
    Par kamaldev dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 05/02/2009, 14h38
  4. quelle est la fonction qui retourne la partie date sans heure
    Par solawe dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/08/2007, 15h23

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