0 votes

Y a-t-il un moyen de trouver les fichiers récents avec locate OU de mettre à jour automatiquement la base de données chaque fois qu'un fichier est créé ?

Je suis sur MacOS Catalina. locate est une excellente commande mais malheureusement, J'ai des difficultés à trouver des fichiers qui ont été créés par exemple il y a une heure ou dix minutes.

Il semble que je puisse contourner ce problème en mettant à jour la base de données à une fréquence plus élevée que toutes les 24 heures.

Mais l'autre problème est que, lorsque je lance la commande /usr/libexec/locate.updatedb en racine, il dure beaucoup de temps avant que cette commande ne se termine.

J'en conclus donc que la mise à jour reconstruit entièrement la base de données et ne met pas à jour uniquement les nouveaux fichiers créés depuis la dernière mise à jour. locate.updateb exécution En effet, ce serait un gros gain de temps si la commande ne reconstruisait pas toute la base de données avec tous les fichiers du système.

Enfin, je pense à une stratégie simple : modidy /System/Library/LaunchDaemons/com.apple.locate.plist pour le forcer à mettre à jour par exemple la base de données toutes les 5 minutes. Mais si la commande /usr/libexec/locate.updatedb reconstruit toute la base de données toutes les 5 minutes, cela n'a pas de sens.

J'aimerais donc connaître l'avis des personnes qui ont rencontré ce type de problème et savoir comment elles l'ont résolu. Je préfère éviter d'utiliser la commande mdfind mais s'il n'y a pas de solution disponible avec locate et la possibilité de ne pas avoir à reconstruire tout le contenu à chaque fois (dans mon cas, ce serait toutes les cinq minutes), je serais obligé de passer à mdfind .

A propos, une simple crontab lançant toutes les 5 minutes la commande /usr/libexec/locate.updatedb est également autorisé, n'est-ce pas ?

Vous pourriez aussi me conseiller d'utiliser find avec -mtime mais la recherche est très lente (associée à parallel ça pourrait être une alternative, je ne sais pas, en fait, je suis un locate fan puisque je l'ai beaucoup utilisé sous Linux).

Tout indice/remarque/rétroaction est le bienvenu,

Salutations

3voto

Tom Harrington Points 2112

Je préfère éviter d'utiliser la commande mdfind

Pourquoi ça ? Il résout votre problème sans travail supplémentaire. Pour obtenir locate pour faire des mises à jour en permanence va occuper votre Mac à scanner l'ensemble du disque dur presque tout le temps. En attendant,

mdfind -name filename.txt

Produira le même résultat sans travail supplémentaire de votre part ou de celle de votre Mac. Puisque MacOS maintient Spotlight à jour automatiquement, cela trouvera les fichiers immédiatement après leur création. Vous pourriez même utiliser un script shell très court comme celui-ci :

#!/bin/sh

if [ "$1" ==  "" ]; then
    echo What files do you want to find?
else
    mdfind -name $1
fi

Puis alias locate ou une autre commande pour appeler le script.

1voto

Seamus Points 3171

Vous semblez préférer une solution CLI. Je suis un utilisateur fréquent de l'interface CLI dans MacOS, mais nous devons tous vivre avec le fait qu'Apple ne met pas à jour un grand nombre de ses outils de ligne de commande. Par exemple, sur mon Macbook Pro fonctionnant sous Mojave, la fonction locate ne prend pas en charge l'outil --version argument, mais man locate a une date en bas qui date d'environ 14 ans. Donc - le locate dans Catalina n'est pas le même locate que vous avez utilisé sous Linux.

Cela dit, mon "répondre" Il s'agit plutôt d'une suggestion d'utiliser la fonction "dossier intelligent" de l'outil de gestion des dossiers. Finder . Il vous permet de filtrer un grand nombre de types de fichiers et de dossiers, et de les afficher dans la section Finder de la barre latérale. Cela peut convenir à vos besoins, ou pas. Dans un cas comme dans l'autre, vous savez maintenant que l'option de catalan locate L'outil est assez vieux maintenant.

Ma réponse étant hors sujet, je ne m'étendrai pas plus sur le sujet, mais il y a de bonnes raisons de penser qu'il s'agit là d'un problème. "Des guides d'utilisation des dossiers intelligents sont disponibles en ligne. si vous êtes intéressé.

0voto

Marc Wilson Points 3640

Les services publics intégrés ne font pas tout pour tout le monde. Plutôt que d'essayer de forcer locate(1) dans quelque chose pour lequel il n'a pas été conçu, pourquoi ne pas enquêter sur quelque chose comme fd o fzf ?

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