############################################################################### # # # AnalDup.sh : Check for mutliple identical files. # # Give a list of file identical. # # # # +---------------------------------------------------------------------+ # # | Copyright (c) 2007-2008 Flyounet | # # +---------------------------------------------------------------------+ # # | This program is free software; you can redistribute it and/or | # # | modify it under the terms of the GNU General Public License (GPL) | # # | as published by the Free Software Foundation; either version 2 | # # | of the License, or (at your option) any later version. | # # | The GPL can be found at http://www.gnu.org/licenses/gpl.html | # # +---------------------------------------------------------------------+ # # | Author: Flyounet Initiale Release # # > Not finished Yet. # # v0.02 [20/12/2007] Flyounet : # # > Ajout de l'entete de script pour la gestion de version. # # v0.03 [28/12/2007] Flyounet : # # > Ca prend forme l'ensemble des fichiers est trouve. La partie selec- # # tion du FS par rapport au disk fonctionne bien. # # v0.04 [28/12/2007] Flyounet : # # * sha1Verif & md5Verif ajout de l'export de _hashExt. # # v0.05 [31/12/2007] Flyounet : # # * doublonUnify : Mais elle est toute foireuse cette fonction... Tu # # SORS ! Tu reviens plus tard et tu te soignes... Et tu reviens finir # # après... # # > Et j'ai scripte, scripte e en shell et puis en perl, et j'ai pleure # # pleure e, j'avais bien trop de peine... # # v0.06 [31/12/2007] Flyounet : # # * doublonAnalyse & doublonParse sont corrigees. Comme un boulet j'ai # # oublie de supprimer les fichiers ok apres utilisation... Une mise en # # vrac de folie. # # * fileSearchFS : le quoting-style des fichiers a ete supprime du find. # # Ca faisait bouse doublonParse. # # > C'est l'heure de rentrer pour le reveillon alors j'arrete pour ce # # soir. On verra demain. # # * doublonUnify : Faut tout refaire la dedans. Elle pue grave. # # v0.07 [01/01/2008] Flyounet : # # * doublonParse & doublonUnify : La taille du fichier a ete ajoutee en # # premier element du fichier. # # v0.08 [02/01/2008] Flyounet : MST # # > First version fully fonctionnal ! # # + Flags -K and -Q have been added. # # v0.09 [02/01/2008] Flyounet : MST # # > In some case, files have accent or some crazy characters and the sed # # part of fileSearchFS doesn't reconize the pattern. So the # # * fileSearch : Errors are now grepped and reinjected to be treated. # # v0.10 [07/01/2008] Flyounet : Verole # # + Un increment est ajoute pour identifier chaque groupe identique. # # v0.11 [11/01/2008] Flyounet : Sida # # + Parameters -i & -I have been added to control size of doublons. # # v0.12 [22/01/2008] Flyounet : VIH # # * -I now work... I forget to try it :( # # v0.13 [22/01/2008] Flyounet : Blennorragie # # + Parameter -b has been added to control -i and -I if -b is used then # # old style is used : Find all file and after work on size. Without # # -b parameter : find only file which are minus or greater than the # # size given with -i and -I. # # -b is usefull if the 'find' command can't use the '-size' argument. # # v0.14 [26/01/2008] Flyounet : Blennorragie # # * fileSearchFS : _bytesUnder was used for the -i parameters instead of # # _bytesOver. # # v0.15 [08/04/2008] Flyounet : Blennorragie # # > Some variables have been removed... A poor copy/paste in the early # # stage of dev... # # v0.20 [09/04/2008] Flyounet : Syphilis # # > The main goal of this version is the name that change to : # # AnalDup.sh (for Analyze Duplicate). # # + _maxConcurrentProcess : For the future. If you launch the script on # # more thant 10 FS (HDD) you potentially face to have more thant 10 # # sha1sum at the same time. # # - Have delete some debug line. # # + Arg -y is use to control _maxConcurrentProcess. # # v0.21 [09/04/2008] Flyounet : Syphilis # # + fileSearch : _maxConcurrentProcess is used inside the function to # # control the number of call to fileSearchFS. # # + help : Ajout de l'affichage de la version et du protocol. # # # # # # # # # ############################################################################### # # # Todo : # # OK Changer les preferences. Par defaut on utilise SHA1SUM et si l'utilisa- # # teur le veut, il forcera md5sum. Faire le test avec sha1 et md5 c'est # # trop long/violent. Ca permettra aussi de simplifié le code # # OK Quand on check chacun des fichiers faire un compteur qui indique le # # pourcentage terminé. # # < Permettre de ne pas prendre en compte des fichiers ou des repertoires. # # < Il faudrait afficher le nombre de fichiers de chaque FS. # # < Modifier l'affichage en cas d'utilisation -i ou -I # # < C'est foireux le compte ajoute en v0.10 et pas lisibile en plus... # # < Pour les fichiers > 10M faire un check du 1er MiB et si != ==> files != # # < files > 10M check 1er MiB == ==> Check last MiB et si != ==> files != # # < Fournir un argument pour gere les deux requetes de dessus. # # < Make a real french translation and another for english. # # < Faire une interface graphique... # # OK Lorsque l'on donne un répertoire il vaudrait mieux que le script analyse # # les fichiers du répertoire courant et et vérifie si les sous répertoires # # peuvent faire l'objet d'un processus à part entière. Genre je mets /mn # # < By default AIX server doesn't have md5sum nor sha1sum, it's sum, add # # Test... # # # ############################################################################### # # # Legende : # # + --> Indique une nouveaute, un ajout de fonctionnalite. # # * --> Indique une correction de bogue. # # - --> Indique la suppression d'une fonctionnalite/variable. # # > --> Indique une information n'ayant pas forcement de rapport avec le code# # < --> Indique une amelioration a apporter au code. # # <- --> Indique une amelioration en cours de developpement/realisation. # # OK --> Indique qu'une amelioration a ete effectuee. # # # ###############################################################################