přejít na obsah přejít na navigaci

Linux E X P R E S, Inkrementální zálohování pomocí 7-zipu

Inkrementální zálohování pomocí 7-zipu

Již dlouho jsem nezálohoval firemní notebook, takže jsem se dnes odhodlal k vytvoření zálohovacího skriptu pomocí výborného archivačního nástroje 7-Zip, který je dostupný v Linuxu i pro Windows. Skript jsem koncipoval tak, aby byl v maximální míře vhodný na externí disk nebo flashdisk se souborovým systémem FAT32.


reklama

 

Nejprve skript předvedu ve variantě Linux:

D=/media/MyWD
PASS=MojeTajneH3sl0
nice -n15 7z u -uq3 -v1g -mx3 -ms=off -mmt=3 -p$PASS -w$D -scsUTF-8 -xr0@$D\exclude.txt $D\lzap_backup.7z @$D\include.txt

A nyní verze pro Windows:

 

@echo off
set D=e:\backup
set PASS=MojeTajneH3sl0
set ZDIR="c:\Program Files\7-Zip"
start "Backup" /D%ZDIR% /B /BELOWNORMAL 7zG u -uq3 -v1g -mx3 -ms=off -mmt=3 -p%PASS% -w%D% -scsWIN -xr0@%D%\exclude.txt %D%\lzap_backup.7z @%D%\include.txt

Nejprve k proměnným ve skriptu:

  • D – adresář na externím zařízení, kam se bude zálohovat;
  • PASS – heslo k záloze (je potřeba použít šifrování, kdyby bylo zařízení odcizeno);
  • ZDIR – adresář, ve kterém je nainstalován program 7-Zip.

A nyní popíšu jednotlivé volby:

  • -uq3 – smazané soubory nemazat, ale pouze vytvořit takzvanou „akci smazání“ spouštěnou na konci dekomprimace;
  • -v1g – vytvářet svazky o 1 GB;
  • -mx3 – rychlá komprese (můžete nastavit 1 pro pouhé kopírování nebo 9 pro maximální kompresi);
  • -ms=off – solid archivy vypnuty;
  • -mmt=3 – počet komprimačních vláken (nastavte podle toho kolik máte jader/procesorů plus jedna);
  • -p – nastavení hesla z proměnné;
  • -w – pracovní (temp) adresář je nastaven na cílový adresář (pro flashdisk doporučuji raději nastavit systémový temp);
  • -scsWIN – způsob kódování seznamových souborů (include.txt a exclude.txt), na Linuxu bude vhodné nastavit -scsUTF-8;
  • -x – soubor se seznamem položek, které přeskakovat (exclude list);
  • lzap_backup.7z – název archivu;
  • @ – soubor se seznamem položek k zálohování (include list)

Zálohovací skript umísťuji na stejné médium, na které zálohuji, ale je možné jej umístit kamkoli. Součástí skriptů je také mírně znevýhodnění procesu, což může být výhodné, pokud u zálohování pracujete.

 

Nahoru

(Jako ve škole)
 

Top články z OpenOffice.cz

Příspěvky

Inkrementální zálohování pomocí 7-zipu
OlinX 6. 02. 2009, 13:04:58
Odpovědět  Odkaz 
Clanek me zaujal, 7-zip dlouho pouzivam ve Win na zalohovani projektu. Pokud se ale v uvedenem skriptu pouzije switch -v1g (vytvářet svazky po 1GB), indexuje 7z archivy na lzap_backup.7z.001, lzap_backup.7z.002, apod. Pak ale pri dalsim inkrementalnim zalohovani 7z zavile odmita takovy archiv updateovat, chyba "Soubor existuje"? Je nejaka rada?
Re:Inkrementální zálohování pomocí 7-zipu
lzap 9. 02. 2009, 12:47:10
Odpovědět  Odkaz 
Máte pravdu! Nevšiml jsem si toho, protože v mém skriptu to nepoužívám, ale pro účely zápisku jsem si říkal, že by to bylo vhodné doplnit (omezeni pro FAT32).

Zkousel jsem to i na Windows a take to hlasi "Soubor neexistuje".

Cele to vypada tak, ze zrejme rozdelene baliky nelze aktualizovat.
Re:Inkrementální zálohování pomocí 7-zipu
lzap 9. 02. 2009, 13:00:35
Odpovědět  Odkaz 
Tak jsem reportoval dotaz na foru: https://sourceforge.net/forum/message.php?msg_id=6381645
Re:Re:Inkrementální zálohování pomocí 7-zipu
OlinX 10. 02. 2009, 13:34:18
Odpovědět  Odkaz 
Diky za odpoved, zkousel jsem si s tim nejakou dobu hrat, ale nakonec nade mnou 7-zip "zvitezil" :) jinak na nej ale nedam dopustit.
Lukáš Zapletal Upozornění pro více uživatelů
zapletal 22. 10. 2009, 14:03:38
Odpovědět  Odkaz 
Jedno doplnění - tento postup NEZACHOVÁVÁ VLASTNÍKA A SKUPINU!

Nepoužívejte to tedy pro víceuživatelské zálohování. Pokud to užíváte podobně jako já jen pro sebe, pak je to v pořádku. V opačném případě musíte použít tar:

tar cf - directory | 7za a -si directory.tar.7z
7za x -so directory.tar.7z | tar xf -
Ivan Bíbr Inkrementální zálohování pomocí 7-zipu
bibri 9. 02. 2009, 23:32:13
Odpovědět  Odkaz 
Dost mi unikají výhody 7-zipu. Oproti kombinaci tar+bz2 je mnohem pomalejší a kompresní poměr není nijak výrazně lepší. Osobně jsem s tím dlouho spekuloval hlavně kvůli rychlosti záloh (mám moc dat) a stejně jsem stejně skončil u tar+gzip. V praxi je co do rychlosti jeden z nejlepších a kompresní poměr nemá zdaleka tak špatný jako jiné "rychlé" pakovače.

Výsledky jsou např zde:

http://warp.povusers.org/ArchiverComparison/

(měl jsem někde lepší link s komplexními testy, ale nemohu ho už najít...)
Lukáš Zapletal Re:Inkrementální zálohování pomocí 7-zipu
zapletal 24. 08. 2009, 22:59:39
Odpovědět  Odkaz 
Pomalejší? To je hodně silné tvrzení, jak sis jistě všiml, já nepoužívám maximální kompresi. U zálohy nemá smysl.

Realita je asi taková, že 7-ZIP je dokonce rychlejší, než InfoZip (defacto standard v implementaci ZIP formátu) za předpokladu, že použiji formát 7z a zvolím nízkou kompresi. Ve výsledku je archiv stejně veliký, jako ZIP, ale je to rychlejší.

Realita je taková, že 7-ZIP je rychlejší než jakákoli jiná kombinace (tar+bzip2, tar+gzip). Jediné, co může 7-ZIP ohrozit je kombinace cpio+lzop, který jsem jednu dobu používal.

Tak jako tak záloha musí být rychlá, to je logické. A dělat zálohu s maximální kompresí není vhodné.

Mimochodem TAR se na zálohování nehodí absolutně - má smysl jen u páskových mechanik. V případě HDD/flashky přináší jednu velikou nevýhodu - když je archiv poškozen, od inkriminovaného místa až do konce jsou všechna data ztracena. U 7-ZIPU ve výše uvedené konfiguraci toto neplatí - solid archiv mám deaktivovaný. Navíc lze u 7-ZIPU vytvořit i solid archiv s předem definovanými bloky, takže lze nepřijít při havárii o data a zároveň dosáhnout vynikajicích kompresních poměrů.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Lukáš Zapletal

Lukáš Zapletal

Senior Software Engineer @ Red Hat


  • Distribuce: Fedora
  • Hodnocení autora: ***

| blog



Public Relations

QNAP uvedl novou modelovou řadu NAS TVS-x82T

Společnost QNAP uvedla na trh novou modelovou řadu NAS TVS-x82T, kterou tvoří tři různé modely (TVS-1282T, TVS-882T a TVS-682T). Nová řada je založena na vícejádrových procesorech Intel Core aktuální generace se 14nm výrobním procesem. Díky nim mohou nové NASy nabídnout dostatek výkonu i pro aplikace náročné na CPU.

Pokračování ...


CIO Agenda 2016