Kolik místa na disku platíte zbytečně?
Adresář img/ roste roky a nikdy se sám neuklidí. Smažete produkt, ale
jeho obrázky na disku zůstanou. Spadne import v půlce a nechá po sobě soubory bez
záznamu – nebo naopak záznamy bez souborů. Přemigrujete e-shop a zbydou
adresáře k ID, která už neexistují. Nic z toho e-shop nezobrazuje, nikdo o tom neví,
ale platíte za to místo na disku a zálohy se protahují.
Tenhle modul projde skutečné soubory na disku, porovná je s databází v obou směrech
a přesně vám řekne, co je k ničemu.
[SCREEN 1: Konzole čištění – běžící analýza s ukazatelem, počítadly a výpisem nálezů]
Tři neduhy, které umí vyřešit
-
Soubory bez záznamu v databázi – obrázek na disku leží,
ale žádný produkt, kategorie ani výrobce o něm neví. E-shop ho nikdy nezobrazí,
jen zabírá místo.
-
Záznamy bez souboru – v databázi je
id_image,
ale soubor chybí. Typicky po chybě při importu. Modul takový záznam smaže
a u produktu zároveň dopočítá hlavní obrázek, aby nezůstal
bez náhledu v katalogu.
-
Zbylé adresáře – adresáře k ID, která už neexistují.
Nemusí být ani prázdné – bývá v nich
index.php nebo informační
soubor. Modul je uklidí až nakonec, když jsou obrázky pryč.
Nejdřív report, teprve pak mazání
Modul nikdy nemaže rovnou. Nejprve proběhne analýza, která si zapíše konkrétní
seznam akcí, a vy dostanete kompletní report: co, kde, jak velké a proč. Teprve
když ho potvrdíte, začne úklid – a ten už jen přehrává hotový seznam, takže
disk znovu neprochází.
Report si můžete filtrovat podle typu nálezu i stavu a celý ho vyexportovat do CSV.
[SCREEN 2: Report čištění – filtrovaný výpis nálezů s cestami, velikostmi a stavy]
Nic se neztratí: ZIP archiv a SQL pro obnovu
Každý běh úklidu odloží smazané soubory do ZIP archivu se zachovanou strukturou
cest a přibalí k nim restore.sql se smazanými záznamy včetně původních
hlavních obrázků a pozic. Kdyby se něco nepovedlo, obnova je rozbalit archiv do
img/ a pustit SQL skript.
Až archiv nebudete potřebovat, smažete ho jedním klikem přímo v administraci
– na rozdíl od karantény vám nesedí na disku natrvalo.
Funguje i na velkém e-shopu a na obyčejném hostingu
Půl milionu obrázků není problém. Modul nepotřebuje cron, SSH ani zvýšený
max_execution_time:
-
Běží v dávkách v prohlížeči. Každá dávka dostane časový
rozpočet místo pevného počtu položek – pomalý hosting udělá menší dávku
a nespadne na limitu, rychlý udělá větší.
-
Nezatěžuje databázi ani paměť. Na celou dávku adresářů padne
jeden dotaz a průchod databází jde klíčem, ne stránkováním.
-
Vidíte, co se děje. Ukazatel průběhu, tikající počítadla
a rolující výpis konkrétních akcí – ne zatuhlá stránka.
[SCREEN 3: Výběr rozsahu – produkty, kategorie, výrobci, dodavatelé před spuštěním]
Kdykoliv přerušit, později pokračovat
Úklid velkého e-shopu nemusíte odsedět. Dáte Pozastavit a běh se zastaví
v konzistentním bodě – rozdělaná akce vždy doběhne, takže disk nezůstane
v půli cesty. Až se vrátíte, dáte Pokračovat a naváže přesně tam, kde
skončil. Chcete začít znovu od nuly? Reset.
Opatrnost na prvním místě
Nástroj, který maže, musí být konzervativní. Proto:
-
V živých adresářích jen obrázky. U adresáře, který v databázi
existuje, maže jen soubory rozpoznané jako obrázky PrestaShopu – jazykové
výchozí obrázky ani cizí soubory se nedotknou.
-
Sirotčí adresář jde pryč celý. Adresář k neexistujícímu ID se
uklidí včetně všeho, co v něm leží – vše se nejdřív zálohuje do archivu,
takže rozhodnutí zůstává na vás: archiv stáhnete, nebo smažete.
-
Před smazáním přeověří. Mezi analýzou a úklidem mohl doběhnout
import; co mezitím v databázi ožilo, se přeskočí a v reportu je to vidět.
-
Nesahá mimo
img/. Každá cesta se kontroluje proti
kořeni obrázků.
Co všechno umí zkontrolovat
| Typ obrázků |
Umístění |
Co řeší |
| Produkty |
img/p |
soubory, záznamy, hlavní obrázek, adresáře |
| Kategorie |
img/c |
soubory bez kategorie |
| Výrobci |
img/m |
soubory bez výrobce |
| Dodavatelé |
img/su |
soubory bez dodavatele |
Připraveno na další nástroje
Čištění obrázků je první nástroj v sekci Servisní nástroje. Sekce
je založená jako rozcestník, takže další údržbové nástroje přibudou jako další
karta – bez přestavby toho, co už používáte.
Komentáre (0)
Vaše hodnotenie nie je možné odoslať
Nahlásiť komentár
Správa odoslaná
Váš podnet nie je možné odoslať