skript na čistenie .thumbnails

Sekcia: Programovanie 16.08.2010 | 15:26
Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
Neviete niekto, čo môže byť s týmto skriptom?
Mal by preveriť náhľady v ~/.thumbnails large a normal či existuje súbor pre ktorý bol vytvorený. Používa na to ImageMagic.
Diky

#!/bin/sh

# Expiration age of thumbnails (days).
EXPIRE=30
# Path to thumbnails
THUMB=/home/<user>/.thumbnails

DLIST=`ls -1 $THUMB`

for D in $DLIST
do
FLIST=`find $THUMB/$D/ -name "*.png" -exec ls {} \;`
for F in $FLIST
do
# Parsing ImageMagick's output.
O=`identify -verbose $F | grep -v "Thumbnail of file:" | grep "file:"| sed s/"Thumb::URI:"//g | sed s/"file:\/\/"//g`
if [ -f $O ];
# Original file exist.
then
# Removing expired thumbnail.
find $F -mtime +$EXPIRE -exec rm -f {} \;
# Original file does not exist.
else
# Removing obsolete thumbnail.
rm -f $F
fi
done
done
    • Re: skript na čistenie .thumbnails 16.08.2010 | 17:05
      Avatar sivlk   Používateľ
      Uprav:

      THUMB=/home/<user>/.thumbnails

      Takto:


      THUMB=/home/<user>/.thumbnails
      echo "$THUMB" > /tmp/pokus

      A po spusteni (neviem kedy sa ten skript spusta) over ci je v /tmp/pokus spravne cesta lebo tie spicate zatvorky sa mi tam nepacia, malo by tam byt realne meno miesto user
    • Re: skript na čistenie .thumbnails 16.08.2010 | 17:14
      WlaSaTy   Návštevník
      Prosím Ťa, odkiaľ to máš?

      Mne sa v ~/.thumbnails už dávno vyskytujú súbory s názvom 32 znakového hexadecimálneho čísla a obdoba niečoho podobného by mala u mňa tvar:
      #!/bin/sh
      rm -fv ~/.thumbnails/fail/*/*
      find ~/.thumbnails/normal -mtime +30 -exec rm -fv {} \;

      Jediný problém čo neriešia tie dva riadky je teda v testovaní existencie súboru kôli výmenným médiám alebo sieťovým diskom.

      Ale ja používam relatívne nové Gnome v ktorom sa už kompletná cesta nezachováva. Ale ajtak by sa to malo dať nastaviť:
      • /desktop/gnome/thumbnail_cache/max_size (maximum size cache)
      • /desktop/gnome/thumbnail_cache/max_age (maximum age of a thumbnail)

      • Re: skript na čistenie .thumbnails 16.08.2010 | 17:52
        Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
        Mám to z tejto adresy:
        http://kubuntuforums.net/forums/index.php?topic=3082403.0

        Išlo mi o to, že sa mi tam niekedy hromadia náhľady úplne identické, ktoré však už nemajú žiadny zmysel. Napr. po premenovaní adresára s obrázkami sú náhľady pre tie súbory iba balast. Ale ostatné nie sú. Našiel som tento skript , ale nejako mi to nešlo ako malo. Vymazalo to skoro všetko aj to čo nemalo.

        Mám KDE nie Gnome.
        • Re: skript na čistenie .thumbnails 16.08.2010 | 23:27
          WlaSaTy   Návštevník
          Neviem si predstaviť kde má KDE centrálne informácie o pomocných súboroch keďže ho nepoužívam. Ale kúsok nižšie je spomenutý hotový nástroj kleansweep.
          • Re: skript na čistenie .thumbnails 17.08.2010 | 04:09
            Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
            Už som o ňom uvažoval, lenže je len pre KDE 3.x tak nič z toho. Úplne by mi postačil. No čo už. Zatiaľ ostane mazanie všetkých thumbs, aby sa neklonovali.
            • Re: skript na čistenie .thumbnails 17.08.2010 | 12:56
              WlaSaTy   Návštevník
              Skus sem dat na zaciatok osekany vystup z :
              find ~/.thumbnails -type f -ls
              A potom
              identify -verbose ${nazov nejakeho suboru}
              Ze ci to ma vobec sancu fungovat. Pri Gnome to totizto dava nazvy nahladov ktore sa napadne podobaju na MD5 hash cim sa jednoducho rusi potreba uchovavania cesty.
              • Re: skript na čistenie .thumbnails 17.08.2010 | 23:08
                Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                [majo@localhost ~]$ find ~/.thumbnails -type f -ls
                261183 76 -rw------- 1 majo majo 75589 aug 17 20:48 /home/majo/.thumbnails/large/ce434715ca245e03cec21d7b3babe0b1.png
                261182 12 -rw------- 1 majo majo 11081 aug 17 20:48 /home/majo/.thumbnails/large/b6e8b63c3c1c63e6eef07c89717f6f4a.png
                261117 36 -rw------- 1 majo majo 34310 aug 17 20:47 /home/majo/.thumbnails/large/8a6da9fe7c48ecd04a51441855542d8b.png
                ..............
                261191 16 -rw------- 1 majo majo 16170 aug 17 20:48 /home/majo/.thumbnails/normal/99aeba2e62443382a6bff98cc1dbd69b.png
                261197 28 -rw------- 1 majo majo 24808 aug 17 20:48 /home/majo/.thumbnails/normal/1144f9b873fb05847f5125f789950caf.png
                ..................
                [majo@localhost ~]$

                ________________________________________________________

                To druhé som zrejme nepochopil dobre:

                [majo@localhost large]$ identify -verbose ${4f330aacb2187eebd1393b4e54c8cd21.png}
                bash: ${4f330aacb2187eebd1393b4e54c8cd21.png}: chybná substitúcia
                [majo@localhost large]$


                • Re: skript na čistenie .thumbnails 17.08.2010 | 23:23
                  WlaSaTy   Návštevník
                  Asi by bolo vhodne bez toho dolara a hranatej otvorky aj s zatvorkou.
                  • Re: skript na čistenie .thumbnails 17.08.2010 | 23:52
                    Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                    Aha, tak toto už aj niečo rieši:

                    [majo@localhost large]$ identify -verbose 1ca8a458b5d003d7866108d531559f35.png
                    Image: 1ca8a458b5d003d7866108d531559f35.png
                    Format: PNG (Portable Network Graphics)
                    Class: DirectClass
                    Geometry: 256x157+0+0
                    Resolution: 37.8x37.8
                    Print size: 6.77249x4.15344
                    Units: PixelsPerCentimeter
                    Type: TrueColorMatte
                    Endianess: Undefined
                    Colorspace: RGB
                    Depth: 8-bit
                    Channel depth:
                    red: 8-bit
                    green: 8-bit
                    blue: 8-bit
                    alpha: 1-bit
                    Channel statistics:
                    Red:
                    min: 7 (0.027451)
                    max: 254 (0.996078)
                    mean: 232.889 (0.91329)
                    standard deviation: 48.1232 (0.188718)
                    kurtosis: 2426.39
                    skewness: -2.93316
                    Green:
                    min: 7 (0.027451)
                    max: 255 (1)
                    mean: 236.229 (0.926389)
                    standard deviation: 47.6543 (0.18688)
                    kurtosis: 2657.07
                    skewness: -3.15232
                    Blue:
                    min: 7 (0.027451)
                    max: 255 (1)
                    mean: 227.806 (0.893356)
                    standard deviation: 57.8286 (0.226779)
                    kurtosis: 1118.3
                    skewness: -2.21132
                    Alpha:
                    min: 255 (1)
                    max: 255 (1)
                    mean: 255 (1)
                    standard deviation: 0 (0)
                    kurtosis: 0
                    skewness: 0
                    Image statistics:
                    Overall:
                    min: 0 (0)
                    max: 255 (1)
                    mean: 174.231 (0.683259)
                    standard deviation: 44.5279 (0.174619)
                    kurtosis: 1928.12
                    skewness: -12.5257
                    Rendering intent: Undefined
                    Interlace: None
                    Background color: white
                    Border color: rgba(223,223,223,1)
                    Matte color: grey74
                    Transparent color: none
                    Compose: Over
                    Page geometry: 256x157+0+0
                    Dispose: Undefined
                    Iterations: 0
                    Compression: Zip
                    Orientation: Undefined
                    Properties:
                    date:create: 2010-08-17T20:47:36+02:00
                    date:modify: 2010-08-17T20:47:36+02:00
                    signature: 96bfa24c2b477c5e71221e756cbd88174d56d401d7c7006f89edadc4ce16d5b1
                    Software: KDE Thumbnail Generator Obr�zky
                    Thumb::Mimetype: image/gif
                    Thumb::MTime: 1274731732
                    Thumb::Size: 16674
                    Thumb::URI: file:///mnt/media/pictures/LinuxToGo/home_opensource.gif
                    Artifacts:
                    verbose: true
                    Tainted: False
                    Filesize: 31.9KB
                    Number pixels: 40.2K
                    Pixels per second: 804K
                    User time: 0.000u
                    Elapsed time: 0:01.049
                    Version: ImageMagick 6.6.3-4 2010-08-09 Q16 http://www.imagemagick.org
                    [majo@localhost large]$
                    • Re: skript na čistenie .thumbnails 18.08.2010 | 00:41
                      WlaSaTy   Návštevník
                      Tak v tom pripade by tam mal byt riadok:

                      find $FLIST `basename $F` -mtime +$EXPIRE -exec rm -f {} \;

                      Ale to len tak hadam, stale som nevidel chybu ktoru to pise.
                      • Re: skript na čistenie .thumbnails 18.08.2010 | 15:13
                        Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                        Ha...

                        Zmenil som
                        FLIST=`find $THUMB/$D/ -name "*.png" -exec ls {} \;`
                        na
                        find $FLIST `basename $F` -mtime +$EXPIRE -exec rm -f {} \;
                        a začala sranda.

                        Mazalo to všetko :-)

                        Ešte že som to včas stopol.

                        Potom som sa umúdril a zmenil som ten
                        find $F -mtime +$EXPIRE -exec rm -f {} \; na find $FLIST `basename $F` -mtime +$EXPIRE -exec rm -f {} \;
                        a píše to
                        .....
                        find: `760eac19a7b83b28b17ee55527fe308d.png': Adresár alebo súbor neexistuje
                        find: `a40efd1df511e56ff9c6ac29c6b183e9.png': Adresár alebo súbor neexistuje
                        find: `a6a63a78ae39640f989e566779dad580.png': Adresár alebo súbor neexistuje
                        find: `9b8bf96985491397a6eb5770320a3f9d.png': Adresár alebo súbor neexistuje
                        find: `6768cd32f0b4c84661a2486c3c4b1c4b.png': Adresár alebo súbor neexistuje
                        .....

                        Som z toho jeleň.
                        • Re: skript na čistenie .thumbnails 18.08.2010 | 15:50
                          Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                          Tie thumbnails su ale vtákovina.

                          Adresár s obrázkami 3.5MB
                          Náhľady tých obrázkov v .thumbnails large=2.5MB!!! normal=822KB.To čo je pre boha?
                        • Re: skript na čistenie .thumbnails 18.08.2010 | 21:18
                          WlaSaTy   Návštevník
                          Myslím že to mal byť ten druhý find, tam kde je argument -exec s vymazávaním súboru.

                          Ale prečo to nič nenašlo je otázka. Nebežalo Ti to ešte raz na pozadí?

                          PS.: adresár s náhľadmi môžeš kľudne aj vymazať. Grafické karty dokážu v dnešnej dobe spraviť náhťad rýchlejšie ako procesor, takže ani nechápem načo to ešte živia.
                          • Re: skript na čistenie .thumbnails 18.08.2010 | 21:20
                            WlaSaTy   Návštevník
                            Jaj, mal tam byť $DLIST a nie $FLIST.
                            • Re: skript na čistenie .thumbnails 18.08.2010 | 23:59
                              Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                              $FLIST zmenené na $DLIST
                              ...............
                              find: `large': Adresár alebo súbor neexistuje
                              find: `normal': Adresár alebo súbor neexistuje
                              find: `d02fea33f16448c62962b8f8cba2d585.png': Adresár alebo súbor neexistuje
                              find: `large': Adresár alebo súbor neexistuje
                              find: `normal': Adresár alebo súbor neexistuje
                              find: `a0bd0396037f1d4f71632b876e6ba60d.png': Adresár alebo súbor neexistuje
                              find: `large': Adresár alebo súbor neexistuje
                              find: `normal': Adresár alebo súbor neexistuje
                              find: `c8b468cb922a4c3af1c1fb8a2bd2b66d.png': Adresár alebo súbor neexistuje
                              ................

                              Už to začínam vzdávať. :-(
                              • Re: skript na čistenie .thumbnails 19.08.2010 | 12:30
                                WlaSaTy   Návštevník
                                Jak bol ten skript zverejneny na internete tak bol uz v tom case nefunkcny. Otazkou je ci sa s nim vobec oplati zaoberat kedze by som odporucil nastavit expiraciu nahladov a vykaslat sa na nejake barlicky. Predpokladam ze KDE take nieco zvlada.

                                PS.: K tomu aby bolo mozne ten skript opravit by musel mat clovek pristup bud ku KDE (co ja osobne nemam a mat nebudem) alebo k obsahu s nazbieranymi subormi.
                                • Re: skript na čistenie .thumbnails 19.08.2010 | 13:13
                                  Avatar marian25 PCLinuxOS, Minime...LINUX  Používateľ
                                  V KDE som ohľadom thumbnails toho veľa nastavení nenašiel. Tak som z tej stránky použil skript, ktorý maže nepoužité náhľady podľa času použitia.
                                  #!/bin/sh

                                  #remove older than 30 days
                                  find /home/user/.thumbnails/ -mtime +30 -exec rm -f {} \;


                                  Aj tak si myslím, že mazanie náhľadov na už neexistujúce súbory by malo fungovať automaticky bez takýchto srandičiek.
                                  A to nehovorím o používaní PNG pre náhľady. Sú trošku veľké.
                                  Veď je tu aj PGF, ktoré by malo byť lepšie v tomto.

                                  Každopádne vďaka za pomoc.