Cesta je hrozně snadná, jde to buď skriptem nebo si napsat malý prográmek.
Následuje řešení, jak jsem to udělal na jedné prolhané a padavé lince.
Linka totiž nejen že padala, ale čas od času si data vymýšlela.
Popis řešení:
V adresáři PRENOS se objevil soubor.
A) došlo k zabalení zdrojových souborů na jednotlivé soubory archivu o velikosti 300KB s výstupem do adresáře ZABALENO, název archivu odpovídal datu, přípona pořadovému číslu kabinetu archivu, to se všechno dá nastavit snadno na widlo i Linuxu
B) zdrojový soubor byl automaticky odstraněn (to udělá parametr archivačního programu) a skript pro každý soubor přidal CRC soubor (to umí některé archivační programy a jde to i utilitou)
Obsah adresáře ZABALENO pak vypadal nějak tahle:
010120112205.r01
010120112205.r01.crc
010120112205.r02
010120112205.r02.crc
(V posledním kroku se vytvářel CRC soubor, proto nemůže dojít k tomu, aby se začal stahovat ještě nezkopírovaný soubor.)
C) skript na cílovém počítači se připojoval na zdrojový stroj a prohledával adresář ZABALENO, jestli v něm není nějaký soubor CRC, pokud nějaký CRC soubor našel, zkopíroval si ho k sobě, otevřel, zjistil jméno původního souboru a ten zkopíroval k sobě.
Pokud CRC seděl, pak odstranil zdrojové soubory, pokud ne, tak smazal přenesený CRC soubor (co kdyby chyba byla v přeneseném CRC souboru) a restartoval se.
Jak vidíte, je to o nastavení Cronu a vykoumání pár parametrů.
Trochu nějaké logiky je jen v tom bodu C, kde nejprve vyhledáte první soubor CRC (to je přece směšně snadné), vyparsujete z jeho názvu název origo souboru (to jsou jen čísla např. 010120112205.r01.crc -> pokusíte se zkopírovat soubor 010120112205.r01), pokud CRC sedí, což zjistíte zavoláním utility a vyhodnocením jejího návratového kódu -> a když je kód OK, tak skriptem smažete soubory ze zdroje, pokud ne, tak smaže místní CRC i špatně stažený soubor.
Názvy originálních souborů opravdu doporučuji pojmenovávat automaticky číselně podle data.
Totiž řetězec jako je tento: 010120112205.r02 se snadno parsuje!
Šlo by udělat podstatně lepší a robustnější řešení, ale tohle je prostě hrozně jednoduché.
Bittorent použít lze, je to dobré řešení, kde můžete nastavit vytížení linky, ale musíte mít pořád spuštěný bittorentový server.
Skript má tu výhodu, že se spustí 1x za hodinu, pokud nějaké soubory najde, tak je přesune, pokud ne, tak chrápe a nevytěžuje paměť serveru.