Portál AbcLinuxu, 6. května 2025 01:33

Dotaz: Algoritmus nelineárního promazání záloh

Zdeněk Zámečník avatar 23.9.2013 21:35 Zdeněk Zámečník | skóre: 26
Algoritmus nelineárního promazání záloh
Přečteno: 365×
Odpovědět | Admin
Potřeboval bych trošku poradit. Zálohuji celkem dost serverů vlastními skripty v bashi (motorem je rsync a cp -i), které vytváří adrešářovou strukturu tím stylem, že nejvyšší adresář nese název serveru a podadresáře jsou již jen jednotlivé verze záloh, např:
Batman +- 2013-08-30-21-00
       +- 2013-08-31-21-00
       +- 2013-09-01-21-00
       +- 2013-09-02-21-00
       +- 2013-09-03-21-00
       +- 2013-09-04-21-00
       +- 2013-09-05-21-00
       +- 2013-09-06-21-00
Momentálně zálohy "rotuji" tím stylem, že mám nadefinován maximální počet záloh a jejich interval, tzn. že uchovávám zálohy v pravidelném intervalu např. 7 záloh po 24h a tudíž zálohy starší 7 dní se mažou. Chtěl bych to ale dotáhnout do stavu, aby mi zůstaly i starší zálohy v nějaké exponenciální posloupnosti - v tomto případě třeba, abych měl 7 záloh po 24h, dále 1 zálohu starou přibližně dva týdny a jednu starou měsíc.

Nějak mě nechce políbit Múza. Poradil by mi někdo, jak dosáhnout podobného výsledku aniž bych ztrácel drahé místo na disku? Jde mi o samotný algoritmus, myšlenku, jak problém řešit.


Řešení dotazu:


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

Odpovědi

23.9.2013 21:51 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díval ses na dirvish? Sice už hotové, ale dle tvého popisu je to velice podobné, třeba bys sis to mohl upravit dle svých představ, je to celkem rozumný perl.
Zdeněk Zámečník avatar 23.9.2013 22:02 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Ano, díval, ale nikdy mne neoslovil už jen kvůli zastavenému vývoji. Koukám na ten smysl expire-rules a vypadá to, že by ta myšlenka šla dobře využít. Dík!
Řešení 1× (Zdeněk Zámečník (tazatel))
23.9.2013 21:59 Kit
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdysi jsem používal algoritmus Pravidla podobná jako při určování přestupného roku, to znamená platí poslední použitelné pravidlo v seznamu. Měsíční záloha se zakládala a nahrazovalo se nové médium. Jinak se střídalo jen těch 5 médií tak, aby se opotřebovávala rovnoměrně.

Možná z toho múza něco vyrobí.
Zdeněk Zámečník avatar 23.9.2013 22:09 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Jednoduše geniální! Že mě to nenapadlo dřív oprášit tyhle vychytávky okolo archivování. Šel jsem na to z úplně špatného konce a hledal příliš matematickou cestu, na kterou očividně nemám. Dík, z tohohle určitě něco vymyslím.
24.9.2013 10:54 graviton
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Exponenciálno v pythonu. Sice je to pro btrfs snapshoty, ale to počítací jádro by z toho mělo jít vykousat.

https://btrfs.wiki.kernel.org/images-btrfs/8/81/Snapbtr.txt
Řešení 1× (Zdeněk Zámečník (tazatel))
26.9.2013 15:09 Radovan Garabík
Rozbalit Rozbalit vše Re: Algoritmus nelineárního promazání záloh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja som to urobil nejako tak, že posledný týždeň ostáva denná záloha, posledné 4 týždne pred tým len jedna z daného týždňa (určená náhodne), posledných 12 mesiacov pred tým len jedna z daného mesiaca. A tak by sa dalo pokračovať.... algoritmus pozrie počet záloh zo zadefinovaného intervalu, vyberie jednu (náhodne, ale mohol by nechať aj napr. najstaršiu) a ostatné zmaže. A celé je to len o definícii intervalov.

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.