Portál AbcLinuxu, 8. května 2025 04:32

Dotaz: zalohovani s rsyncem

10.12.2019 16:26 Orbb
zalohovani s rsyncem
Přečteno: 859×
Odpovědět | Admin
Zdravim vsechny, hodilo by se mi vytvorit asi tak nasledujici nastaveni rsync ale bohuzel ani nevim zda to lze:

/data=ostra data

/backup/week1=kopie ostrych dat jednou tydne: rsync -av --delete /data/ /backup/week1

/backup/day1=nove a zmenene soubory z ostrych dat ktere nejsou ve week1

/backup/day2=nove a zmenene soubory z ostrych dat ktere ale nejsou ve week1 ani v day1

/backup/day3=nove a zmenene soubory z ostrych dat ktere ale nejsou ve week1 ani v day1 ani v day2 atd.

a jeste k tomu aby to idealne nebylo hardlinkovane (ve slozkach day1 atd byly pouze soubory zmenene/nove, samozrejme v adresarove strukture jak maji byt)

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

Odpovědi

Pavel 'TIGER' Růžička avatar 10.12.2019 16:39 Pavel 'TIGER' Růžička | skóre: 54
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, lze to takto udělat, nevidím žádný důvod, proč by to takto nemělo jít.
Josef Kufner avatar 10.12.2019 16:44 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jde to pomocí hardlinků, viz volba --link-dest=DIR, která ukazuje na předchozí zálohu.

Druhá možnost je pomocí btrfs snapshotů, kdy uděláš prostý rsync a pak read-only snapshot, tedy něco jako rsync -ar src/ dst/latest/ && btrfs subvolume snapshot -r dst/latest/ dst/`date +%F_%T`. Snapshoty si budou držet jen změny a manipuluje se s tím lépe než s hardlinky. Také nehrozí přepsání všech kopií zásahem do jedné zálohy. Je to asi nejlepší možnost.

Třetí možnost je použít volbu --compare-dest. Podle dokumentace by to mělo dělat přesně to, co chceš, ale nejsem si jist, zda to je dobrý nápad. Bude trochu obtížné takové zálohy obnovovat.
Hello world ! Segmentation fault (core dumped)
11.12.2019 05:56 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
btrfs umí fajn věc send-receive (pokud jsou vsechny disky btrfs)

10.12.2019 17:13 honk
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Doporučujem nevynaliezať hranaté koleso a použiť radšej nejaký zabehaný nástroj, napríklad backup-manager. To čo popisuješ sa podobá na jeho BM_ARCHIVE_METHOD="tarball-incremental"
10.12.2019 18:56 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
rdiff-backup
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 10.12.2019 19:53 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Ten je neskutečně pomalý při obnově dat ze starší verze.
Hello world ! Segmentation fault (core dumped)
11.12.2019 05:49 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
to spíš už rsnapshot

k3dAR avatar 11.12.2019 18:27 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
ten narozdil od rdiff-backup nekopiruje rozdilove, tzn. zmena 1 znaku v 10GB souboru znamena prenos+zvetseni_zalohy o +10GB
porad nemam telo, ale uz mam hlavu... nobody
11.12.2019 19:27 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Pokiaľ má človek na cieľovom úložisku zapnutú deduplikáciu, tak by to nemal byť taký problém. Až na réžiu prenosu. Škoda že BTRFS nemá v sebe aj deduplikáciu na úrovni blokov ako to má zopár iných moderných FS, ktoré majú ale menej slobodné licencie.
12.12.2019 08:35 j
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Co to blabolis, co myslis ze btrfs asi tak deduplikuje probuh ...
12.12.2019 09:05 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Pokiaľ viem, tak deduplikácia v BTRFS nefunguje priamo počas zápisu keďže vyžaduje externé nástroje. Online deduplikácia počas zápisu je stále v štádiu plánovania, i keď vyzerá pekne.

Skús ma vyviesť z omylu, ty Blábolič Probůch.
12.12.2019 11:07 j
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Jiste a co ma ty YtelIgente spolecnyho realtime deduplikace s deduplikaci bloku? Jo aha, vubec nic, jen to ze ses negramotnej debil!

Nehlede na to, ze realtime deduplikaci btrfs samozrejme taky umi, pokud tedy nekdo hodla obetovat desitky GB ram a desitky % IOps. Takze ses debil hned dvojitej.
12.12.2019 11:30 bigBRAMBOR | skóre: 37
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
ja teda nevim, btrfs poradne neznam, zkusenosti s nim nemam, ale kdyz nekdo takhle ostře uraží ostatní v normalni diskusi, musí mít pravdu
12.12.2019 05:35 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
to jo, ale zase nemusíš narozdíl od rdiff-backup řešit rdiff-backup-fs - prostě v případě průšvihu vezmeš disk a bez větší námahy ho rovnou přečteš a není problém zálohy hned zpřístupnit

vandrovnik avatar 10.12.2019 22:39 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak už je rada výše, doporučoval bych také btrfs a snapshoty, pak je prostě pro každý den jedna "složka" a není nutné dumat nad tím, odkud soubor vyšťourat, když je třeba ho ze zálohy obnovit.
11.12.2019 00:22 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
A pokud je adresář /backup namapovaný adresář z jiného počítače tak použít nějaké standardní zálohovací řešení jako je třeba BackupPC
11.12.2019 09:28 MP
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Absolutne bych nedelal vlastni backup reseni, nepokryje to mezni stavy.

Krome uvedenych vyse jsou na trhu i zalohovaci veci jako dirvish, borg.
11.12.2019 09:53 Orbb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky za rady odpovedi, zkusim postupne.

1) Pavel Tiger Ruzicka, diky to hodne pomohlo :)

2) pres --link-dest=DIR jsem to prave zkousel, jako ano, bohuzel je to "zaplevelene" hardlinky coz mi ne uplne vyhovuje. BTFRS ja to popisujete by bylo fajn ale vsude (nekolik serveru na opensuse a nekolik nas je na EXT4). Takze radeji bych pracoval se soubory, nicmene zajimave, podivam se na to take. --compare-dest vypada zajimave, to jdu prozkoumat, obtiznost obnovovani ... proc ? Muj plan (nerikam ze idealni) je mit treba tydenni zalohu (komplet dat) a za tyden k ni tyhle denni pouze se soubory zmenenymi nebo novymi. V pripade maleho pruseru typu "smazala jsem si soubor" najdu tenhle soubor v nejnovejsi verzi (v nejhorsim jeden ze sedmi adresaru). V pripade globalniho pruseru (zadne globalni klima ani Greta, ale treba nejaky cryptovirus) obnovim komplet data z tydenni zalohy a nasledne prepisu tech par zmenenych souboru (vzdy vezmu cely adresar, kopirovat do cile a prepsat co pujde) a teoreticky hotovo. Par minut. Aktualne to delam pres treba 5 plnych zaloh (pracovni tyden) a dve po 14 dnech ... akorat je to lehce narocne na prostor. Nicmene vzdy spolehlive :)

3) Rdiff-backup zkusim uvidim

4) rsnapshop zkusim uvidim

5) backuppc, mam radeji primitivni vsude dostupne nastroje ale koukal jsem na stranky a nevypada to zle, prozkoumam take.

Diky moc vsem, mam co delat, pripadne pisnu co jsem vybral nebo nevybral. Zatim hezky den :) Michal Suk
11.12.2019 10:50 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Pokud je to několik systémů tak doporučuji dedikovat zálohovací server a na něm backuppc.
Josef Kufner avatar 11.12.2019 15:24 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Při použití btrfs snapshotů potřebuješ btrfs jen na zálohovacím disku, kde se dělají ty snapshoty. Zbytek jde pomocí rsync. Takže ext4 na zálohovaných počítačích nijak nevadí.

Všude btrfs by bylo potřeba pouze pokud chceš používat btrfs send/receive místo rsync.
Hello world ! Segmentation fault (core dumped)
11.12.2019 15:43 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Aha, takže na zálohovacím btrfs udělám snapshot a do něj rsyncnu obsah z ext4. Skvělý nápad, to si vyzkouším.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.12.2019 15:55 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Myslím, že to je myšleno tak, na zálohovacím disku máš strukturu toho, co udruješ synchronní se zálohovanými stroji. Po rsyncu provedeš snapshot, který ti tento stav zamrzne do jeho smazání.
Josef Kufner avatar 11.12.2019 17:13 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Přesněji:
  1. Na zálohovacím stroji máš btrfs se subvolume vyhrazeným pro konkrétní zálohu.
  2. Do tohoto subvolume uděláš rsync ze zálohovaného stroje kde klidně může být ext4.
  3. Po úspěšně provedené záloze uděláš read-only snapshot tohoto subvolume.
Pokud máš více zálohovaných strojů, uděláš každému stroji jeho vlastní subvolume, abys mohl udělat a hlavně později smazat jen jeho snapshoty.

Já ty snapshoty mám uspořádané tak, že /srv/backup/$název_stroje/latest je subvolume, kam se rsyncem zálohuje, a pak /srv/backup/$název_stroje/$(date '+%F %T') je název snapshotu. Přičemž do /srv/backup je mountnutý zálohovací disk. V rámci každé zálohy mám několik adresářů pro různé věci, neboť někde mám ještě nějaký ten dump databáze, samostatně odzálohované oddíly a podobně. Snapshot je však jen jeden pro celou takovou zálohu, neboť zálohované věci se občas mění a je žádoucí je mít konzistentně pohromadě.

Ve výsledku je to asi to nejjednodušší, co se dá na zálohování použít. Napíšeš si jeden triviální skript, který zavolá rsync a udělá snapshot, ten pak necháš volat cronem, takže výpisy ti chodí mailem.

K dokonalosti tomu chybí jen automatické mazání snapshotů podle volného místa na disku. To dělám čas od času ručně, neboť disk je velký a není to úplně triviální naprogramovat správně.
Hello world ! Segmentation fault (core dumped)
12.12.2019 11:38 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Mám to přesně naopak

Na zálohovaných strojích mám BTRFS - udělám readonly snapshot a ten přes rsnapshot natlačím na NAS s ext4. A na něm mám pak rsnapshotem vytvořené hourly0......hourlyX adresáře s “historií”

A ten read only snapshot nechávám pro strýčka přílohu ležet na disku - kdyby něco...
12.12.2019 13:34 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
A neměl byste k tomu nějaké hotové řešení na někde githubu, aby to člověk nemusel psát sám a vynalézat kolo?
12.12.2019 13:52 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Ono je to pár příkazů - večer je sem zkusím dát

12.12.2019 21:17 marek_hb
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
základ je:
btrfs subvolume snapshot -r / /.snapshots_root/root && sync
- to vytvoří readonly (volba -r) kořene (volba /) v "podadresáři /.snapshots_root/root snapshot pojmenovaný root (podle toho co zadáš za posledním lomítkem)

pak připojíš adresář kam chceš zálohovat - třeba:
sshfs root@192.168.1.101:/mnt/sda/backup /media/backup/
a pomocí
rsnapshot -V hourly
tam ten snapshot nacpeš - ale musíš mít v /etc/rsnapshot.conf nastavený cesty a další věci!!! - dobrý návod je třeba tady
Pavel 'TIGER' Růžička avatar 12.12.2019 12:16 Pavel 'TIGER' Růžička | skóre: 54
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
A co jsi očekával? Copak jsi napsal nějaké detaily? Budou to velké soubory, nebo malé soubory, nebo směs obého? O jak velký nárust se asi bude jednat? Budeš chtít tu zálohu komprimovat, nebo se zas tak šetřit místem nemusí a raději dáš přednost rychlejší obnově? To všechno hraje roli, aby se jakékoliv zálohování dalo výkonnostně optimalizovat.
12.12.2019 03:56 xicht
Rozbalit Rozbalit vše Re: zalohovani s rsyncem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mohlo by pomoci pouzit --compare-dest parametr.
rsync -vrcE --itemize-changes --stats --progress --compare-dest=$BACKUPDIR $SOURCEDIR $DIFFDIR

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.