2 votes

Journaux de transfert de fichiers simples

Ceci peut être une question Unix générale plutôt qu'une question OS X.

Je veux enregistrer les transferts de fichiers généraux sur OS X, que ce soit de et vers le même système ou vers un autre système, mais pour simplifier, supposons que tout cela se passe en interne sur un seul ordinateur et un seul système de fichiers.

Je veux simplement pouvoir exécuter la commande mv plusieurs fois, puis parcourir un fichier journal pour voir ce qui a été déplacé et où il a été déplacé ultérieurement. La seule condition est que je souhaite également enregistrer les transferts de fichiers initiés par l'interface graphique lorsque je fais glisser des dossiers et des fichiers dans le même fichier journal.

(Si c'était un répertoire, cela montrerait également le contenu de ce qui a été déplacé dans ce répertoire.)

Un exemple pourrait être ces fichiers créés et déplacés dans le terminal et dans l'interface graphique

     13h: $ vi testfile1.txt
     14h: $ mv testfile1.txt MyMovedFile.txt
     14h30 – Fichier GUI déplacé  ~/monFichierTest.txt ~/Documents/monFichierTest.txt
     15h: $ mv MyMovedFile.txt MyNewFile.txt

Le journal montrerait alors l'historique pour moi:

     14h: testfile1.txt MyMovedFile.txt
     14h30 ~/monFichierTest.txt ~/Documents/monFichierTest.txt
     15h: MyMovedFile.txt MyNewFile.txt

Si c'était vraiment sophistiqué, cela pourrait aussi me montrer le code de retour du transfert de fichier.

1voto

Ingmar Hupp Points 3464

Jetez un œil à iosnoop ou éventuellement à fs_usage. Bien que ce que vous voulez n'est pas facile à accomplir sans un filtrage important, car les "transferts de fichier" peuvent être de nombreuses choses différentes au niveau des appels système :

  • mv sur le même point de montage déplacera un fichier
  • mv entre différents points de montage créera un nouveau fichier à la destination et supprimera l'original
  • D'autres outils feront des choses encore plus complexes, par exemple si vous téléchargez un fichier avec un navigateur, il créera un fichier vide puis y ajoutera des données au fil du temps.

Les deux outils ci-dessus reposent sur DTrace, qui est un cadre de traçage très puissant et peut probablement être scripté pour filtrer la plupart de ce que vous voulez, mais cela demandera un certain travail. Il existe des scripts d'exemple dans /usr/bin/*.d (par exemple /usr/bin/iofile.d) et la documentation peut être trouvée sur Oracle (DTrace OS X est un port de la version originale de Solaris).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X