[gull] [resolu] exfat - inconsistence du catalogue sous Linux et macOS - utf8 nfc nfd

felix felix at f-hauri.ch
Mon Apr 22 08:59:12 CEST 2024


Salut Samuel,

Le Sun, Apr 21, 2024 at 11:18:55PM +0200, Samuel Chenal via gull a écrit :
> 
> Là, mon cron passe convmv tous les soirs sur les partages samba (il
> s'exécute assez rapidement) et il "corrige" les noms de fichiers. Depuis, je
> n'ai plus de soucis avec Nextcloud. Ex. de la sortie envoyée par courriel :
> 
> Ready! I converted 13 files in 69 seconds.
> 
> Sur ~720Go de données.
Ok 720G, mais s'agit-il de 1000 fichier de 720Mo ou de 720 millions de
fichiers d'un kilo?

Petit recensement (~4186.27Gb):
$ find . -type d -printf 'Dossiers\nEntrées total\n' -o \
    -type f -printf 'Fichiers\nEntrées total\n' | sort | uniq -c | sort -n
 370188 Dossiers
5755773 Fichiers
6125961 Entrées total


Si tu cherches à réduire le gap:
 .1 attendre que cron lance le job
 .2 attendre potentiellement plus d'une minute que convmv trouve le fichier
    à renommer...

2 pistes:

 - inotifywait est clairement la première idée mais sur un gros répertoire,
   cela risque d'être lourd!
 - Suivre les logs de samba et réagir à la modification d'un nom (Je traque
   le mot "rename_internals_fsp" )

   - Soit en tâche de fond, basé sur `tail -f |` or `journalctl -axfu smbd |`
   - Soit dans un cron (En fait, j'utilise ça pour répercuter des ``mv'' dans
     les backups AVANT de lancer rsync toute les 60'. La variable $since
     correspond à la dernière execution du script. sed repère les nom modifiés
     et les présente séparés par un octet '0x01' afin de les passer a mon
     script bash avec while IFS=$'\1' read -r oldname newname; do ), 

      journalctl -S "$since" -axu smbd |
       sed -ne '/\/\._.* -> .*\._/d;
        /: \(.*\)\/Nouveau dossier -> \1/d;
        /\(\.tmp\|\.TMP\|\.swap|\.bak\)\( ->.*\|\)$/d;
        s/^.*rename_internals_fsp: succe.*rename on \(.*\) -> \(.*\)$/\1\o1\2/p'

Si vous êtes intéressé, je peux poster ici, les quelque lignes de bash qui
me servent à créer un script à envoyer se faire executer sur les backups.

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list