Portál AbcLinuxu, 8. května 2025 13:56

Dotaz: zmazanie adresara

17.8.2017 14:09 rimskij | skóre: 4
zmazanie adresara
Přečteno: 402×
Odpovědět | Admin
Zdravim,

potreboval by som na dennej baze zmazat jeden adresar, ktory obsahuje desiatky tisic adresarov a miliony suborov. Existuje nejaky pre disky setrny sposob ako to spravit? Nejedna sa mi o ziadne bespecne zmazanie. Jednoducho tam bezia regresne testy, aplikacia generuje miliony suborov denne a ja to potrebujem po par dnoch zmazat, aby sa uvolnilo miesto na diskoch. Kedysi v casoch stareho DOS islo spravit, ze na urovni suboroveho systemu bol zmazany zaznam o hlavnom adresary a system povazoval vsetko co bolo v nom za neexistujuce.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.8.2017 14:36 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zmazanie adresara
Odpovědět | | Sbalit | Link | Blokovat | Admin
To nikdy ani za starého DOSu nemohlo fungovat. Nemoho to fungovat ani když by někod násilím v nadřazeném adresáři přímo smazal záznam o hlavním adresáři. Protože tím by se nesamazala v FAT informace které clustery jsou volné a které alokované a systém by i nadále ukazoval místo jako obsazené. A někdy později běh CHKDSK v takévém případě vytvořil ze všech obsazených clusterů, a nezařazených do stromu souborů, fragmenty řetízků clusterů se jmény (pokud si dobře pamatuji) File****.CHK

Neexistuje jiná cesta než mazat soubory jeden za druhým, protože ta mazací operace primárně zapíše do struktur udržujících přehled o tom, které sektory jsou volné a které obsazené, informaci, že sektory patřící mazanému souboru jsou od této chvíle volné. samozřejmě cache na blokové úrovnimůže tu faktickou mazací informaci pozdržet a nějak optimalizovat, ale to nic nemění na tom že každý soubor se maže zvlášť. A pokud jsou takového požadavky, tak bych začal analýzou jaké FS umí efektivně mazat hodně souborů.
17.8.2017 14:40 Re: zmazanie adresara
Rozbalit Rozbalit vše Re: zmazanie adresara
Odpovědět | | Sbalit | Link | Blokovat | Admin
O hlavnom adresary neviem.

Ak tak, daj zvlast odiel, ktory ked sa skoro zaplni sformatujes. Pripadne LVM, ak nevies velkoat, aku budes potrebovat.
17.8.2017 18:41 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zmazanie adresara
Samostatný oddíl na kterém se periodicky provede mkfs by fungovalo jako "smazání hlavního adresáře".
17.8.2017 21:04 marek_hb
Rozbalit Rozbalit vše Re: zmazanie adresara
a nebo vytvoření / smazání subvolume pokud by měl btrfs
17.8.2017 21:47 Re: zmazanie adresara
Rozbalit Rozbalit vše Re: zmazanie adresara
Ako dlho to trva? Nepouzivam btrfs, ale pre porovnananie s formatovanim ext to ako dlho trva?
18.8.2017 00:13 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zmazanie adresara
Tady si myslím, že to bude zase dlouhé. Subvolume nemají vlastní alokační tabulky, pracují stejně jako hlavní FS z celým prostorem dat za něj odečítají spotřebovaný prostor. A jak jsem psal poprvé pokud mažu uvnitř FS tak primárně musím najít všechny obsazené sektory a označit je jako volné. Pravděpodobně zrušení volumu bude mnohem rychlejší než mazání, ale srovnání s čistým formátováním na nějaký ext, kdy se jen vytvoří a zapíšou prázdné metastruktury bych si netroufl.
18.8.2017 11:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: zmazanie adresara
Podle mne na práci s diskem bude zrušení subvolume trvat stejně dlouho, jako mazání souborů – jak píšete, pořád to musí najít vše, co se dál nebude používat. Jediný rozdíl je v tom, že zrušení subvolume bude rychlejší v uživatelském prostoru – btrfs se vrátí hned po smazání adresáře a v uvolňování bloků bude pokračovat na pozadí jádro. Což může být i nevýhoda – nedá se spolehnout na to, že po dokončení příkazu btrfs už je dost volného místa a můžeme hned začít sypat na disk novou dávku souborů.
17.8.2017 17:39 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: zmazanie adresara
Odpovědět | | Sbalit | Link | Blokovat | Admin
To vyzerá ako pracovný adresár. Skús porozmýšľať či by na to nebol vhodný RAMdisk (zram, tmpfs, ...), aj s odmazávaním súborov starších X dní. Pri RAMke takéto ošúchanie sektorov nehrozí.
18.8.2017 11:41 rimskij | skóre: 4
Rozbalit Rozbalit vše Re: zmazanie adresara
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dakujem za nazory. Budem to musiet robit postarom. Ten RAMdisk by neznel zle, keby sa nejednalo o TB (za jeden den mi to tam nasype cca 1,5TB). Uz teraz mam tie diskove polia dve. pretoze na jednom mi bezia regresne testy a z druheho odmazavam data.

este raz dakujem za nazor, aj vedomost, ze pravdepodobne riesenie neexistuje je cenna. Stravil som hladanim dost casu
18.8.2017 12:23 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zmazanie adresara
Ten přístup s naformátováním file systemu je funkční. Pokud aplikace je nějaká taková obludnost s zápisem 1,5 Tb dočasných dat denně, tak by se dala i zvážit možbnost mít něco jako "host swap" na mount adresáři. Cena fyzických disků je malá, proto mít pro tento zápis dva disky, jeden aktivně připojený v mountu. A druhý někde připojený jinde, na kterém se uklízí. Pokud na pár vteřin jsem schopen aplikaci přesvědčit/pozastavit, aby neměla žádný odevŘený soubor v daném stromu, data syNcnout, FS odpojit a ihned připojit jiný prázný FS z druhého disku do stejného místa, A ten původní připojit jinam a data zmazat/uklidit/přepracovat a připravit na swap na zitra

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.