Hello,
Pour répondre à Félix, dans le cas de mon client (723Go de données de
bureautique) :
45475 Dossiers
377666 Fichiers
423141 Entrées total
Merci bien pour la commande ! ;-)
Personnellement, je trouve que le convmv fait assez rapidement le travail.
a+
Samuel
Le 22.04.24 à 08:59, felix via gull a écrit :
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.
--
_______________________________
Samuel Chenal
[email protected]
https://www.ll-dd.ch
_______________________________
Empreinte GPG :
BD25 7B5F 442B DF2D 4E28
8203 B2A2 7269 4E00 5136
Merci d'utiliser des formats de
fichiers ouverts (comme ODF) !
_______________________________________________
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull