Portál AbcLinuxu, 20. července 2025 20:47


Dotaz: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek

31.1.2010 09:37 Koudy
Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Přečteno: 267×
Odpovědět | Admin
Chtel bych zalohovat data do weboveho uloziste, kde je pevne dana maximalni velikost jednoho souboru (50MB). Zaroven se tam musi data nahravat jen prostrednictvim prohlizece a neni tedy prakticke zalohovat po jednotlivych souborech.

Potreboval bych program, ktery ze zadaneho adresare vytvori archiv souboru, jehoz jednotlive casti budou mit nejvyse uvedenou maximalni velikost (data.part1, data.part2,..,data.partN) a ktery navic (a to je dulezite) pujde rozbalit i v pripade, ze prijdu o nektere jeho casti (napr. ztratim data.part2 a data.part(N-1)). V tom pripade prijdu o data ze souboru, ktere bez techto casti nebudou cele, ale o ostatni zalohovane soubory neprijdu.

Bohuzel neznam program, ktery by toto umel, a proto vas zadam o radu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

otasomil avatar 31.1.2010 13:23 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Odpovědět | | Sbalit | Link | Blokovat | Admin

>>>Zaroven se tam musi data nahravat jen prostrednictvim prohlizece

O jake uloziste jde ?

Tezko Vam nekdo poradi jak na upload pres webove rozhrani kdyz nevi o jakou sluzbu se jedna.

Osobne bych prozkomal moznosti uloziste a pokud nebude k dispozici aspon ftp tak bych sel ke konkurenci.

Kazdy hosting nabizi standardne pristup pres ftp ci nekdo dokonce scp.

Pro vytvoreni archivu se da pouzit tar a pripadne gzip

Pomuze Vam tento manual.

S tim limitem pro velikost souboru Vam pomuze nastroj split.

Nebo komercni rar (je i pro Linux systemy)

 

>>>ktery navic (a to je dulezite) pujde rozbalit i v pripade, ze prijdu o nektere jeho casti

To jste nemyslel doufam vazne.

K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
pavlix avatar 31.1.2010 13:39 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Ad úložiště... pokud vím, tak na nahrávání na úložiště se neptal. Nicméně můžu poradit používat úložiště, které umožňuje přístup pomocí SSH/SFTP, myslím, že v případě pár desítek/stovek MB to nebude takový problém.

Ad "nemyslel vážně". To jsi doufám nemyslel vážně ty, že reaguješ takhle na požadavek, který je jenom trochu nezvyklý.

Dělení archivů bych spíš ponechal době disket a cédéček, než době Internetu.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
31.1.2010 15:01 Koudy
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Jde o sluzbu SkyDrive, ktera nabizi zdarma 25GB prostoru. Puvodne jsem to nechtel zminovat, abych nedelal reklamu.
otasomil avatar 31.1.2010 15:17 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek

No jestli vite jak tam uploadovat a stahovat soubory treba pres ftp ci http s autentizaci tak budeme jiste vsichni radi za navod ac se jedna o sluzbu nejmenovane spolecnosti.

Pokud budete o necem vedet tak to sem hodte.

Dekuji.

K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
pavlix avatar 31.1.2010 23:06 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Nemůžu si pomoct, ale nechápu, proč považuješ free online store na 25G bez možnosti použití například rsync/rdiff-backup za nejlepší možnost.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
31.1.2010 13:40 Koudy
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Neni podstatne, ze jde zrovna o zalohovani na web ani to, o jakou sluzbu jde. To resit nechci. Stejny problem si lze predstavit i pri zalohovani dat na ulozna media (napr. CD).
>>>ktery navic (a to je dulezite) pujde rozbalit i v pripade, ze prijdu o nektere jeho casti

To jste nemyslel doufam vazne.
Vazne jsem to myslel. A neni duvod, proc by to nemelo jit. Predstavte si, ze mam tri soubory: A (velikost 60MB), B (10MB) a C (20MB). Limit uloziste na jeden soubor je 50MB, postaci tedy rozdelit soubory do zaloh o dvou castech (part1 a part2). V part1 bude prvnich 50MB souboru A, v part2 bude konec souboru A a soubory B a C. Pokud prijdu o jen part1, prijdu nutne o soubor A, ale stale chci mit moznost obnovit soubory B a C. Pokud prijdu o part2, ztratil jsem vsechno. Pokud bych zvolil jine rozdeleni souboru do casti (napr. B,A- a -A,C), mam zaruceno, ze at ztratim part1 nebo part2, zustane mi alespon jeden soubor (B nebo C).

Vami navrhovany rar nebo tar ale tuto vlastnost (pokud je mi znamo) bohuzel nesplnuje.
otasomil avatar 31.1.2010 15:06 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek

Part 2 ze souboru A zatarujete se souborem B a C

Co je na tom neresitelneho.

 

Mj proc to nemuzete nechat takto ?

Soubor A - rozdelit na 50 + 10 MB pomoci split

Soubor B - se vleze do limitu

Soubor C - se vleze do limitu

Proc spojovat soubor B a C kdyz muze byt kazdy uploadovan zvlast ?

 

Lepe kazdy soubor uploadovat dvakrat pro sichr.

 

Pokud budete mit soubor o velikosti dejme tomu 700 MB (napr install CD nejakeho systemu) a rozdelite jej po 7 x 100 MB a kterykoli ze 100 MB partu Vam potom bude chybet tak je zcela nemozne dat onen puvodni 700 MB soubor dohromady neb chybi 1/7 dat.

Nevim jak by jste vyresit ztratu 1/7 dat ci vice pokud nebudete jednotlive party uploadovat jeste jednou pro pripad ztraty.

 

 

K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
Saljack avatar 31.1.2010 14:23 Saljack | skóre: 28 | blog: Saljack | Praha
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použil bych split, ty data z toho vydoluješ (on i rar by na to šel použít). Nebo si napsat skript, který bude přidávat soubory do taru dokud nebude mít požadovanou velikost, problém by byl, kdyby ty soubory byly větší než velikost.
Sex, Drugs & Rock´n Roll.
31.1.2010 14:56 Koudy
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Ono bohuzel ani v situaci, kdy se kazdy ze souboru vejde do limitu, to neni uplne lehky problem (kvuli pozadavku na co nejnizsi pocet casti zaloh - viz Bin packing problem).

Pokud naopak pripustime deleni souboru, coz je beztak nezbytne, nebot nelze ocekavat, ze na vstupu budou pouze soubory mensi nez limit, tak zase vznika problem, jak soubory naskladat do predem znameho poctu casti zaloh (prihradek) tak, aby byl napr. pocet rozdelenych souboru minimalni. Lze jiste vymyslet i jina minimalizacni kriteria.

Pokud bych mel neco podobneho programovat, soustredil bych se na algoritmickou stranku problemu (tj. rozdeleni souboru do prihradek) a technickou stranku (ulozeni obsahu souboru a jeho metadat do casti zalohy) prenechal taru. Jenze ani ta algoritmicka stranka se mi nezda lehka.
31.1.2010 17:02 tomk
Rozbalit Rozbalit vše Re: Zalohovani dat tak, aby jedna chybejici cast neohrozila zbytek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, takove ty klasicke drevni nastroje jako tar, dump/restore vetsinou pocitaji s tim, ze cast dat na "pasce" nejde nacist a proto ctou dal tak dlouho, az se chytnou:

$ for i in 1 2 3 4 5;do head -20 /dev/urandom > test$i.bin ; done
$ tar cvf backup.tar test*
test1.bin
test2.bin
test3.bin
test4.bin
test5.bin
$ split -b 5000 backup.tar parts
$ cat partsa* | tar tvf -
-rw-r--r-- tom/users      6047 2010-01-31 16:52 test1.bin
-rw-r--r-- tom/users      6434 2010-01-31 16:52 test2.bin
-rw-r--r-- tom/users      4354 2010-01-31 16:52 test3.bin
-rw-r--r-- tom/users      5882 2010-01-31 16:52 test4.bin
-rw-r--r-- tom/users      5580 2010-01-31 16:52 test5.bin
$ dd if=/dev/zero of=partsac bs=5000 count=1
$ cat partsa* | tar --ignore-zeros -tvf -
-rw-r--r-- tom/users      6047 2010-01-31 16:52 test1.bin
-rw-r--r-- tom/users      6434 2010-01-31 16:52 test2.bin
tar: Skipping to next header
-rw-r--r-- tom/users      5882 2010-01-31 16:52 test4.bin
-rw-r--r-- tom/users      5580 2010-01-31 16:52 test5.bin
tar: Exiting with failure status due to previous errors
Tomas

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.