Full Backup maker progi Debianon?

Fórumok

Full Backup maker progi Debianon?

Hozzászólások

Hát most a taral próbálkoztam.

mondjuk

#ez esetben becsomizza a teljes etc könyvtárat
tar -czf /tmp/backup/etc-`date +%Y%m%d`.tar.gz /etc/*

#aztán mivel másik gépre kell mentenie scp kulccsal
scp -i ~felhasznev/.ssh/id-dsa /tmp/backup/etc.....tar.gz masik felhasznalo@gépnév

Ezt berakom contabba aztán éjjel ellesz a gyerek.

Ez jó is mondjuk azoknál a könyvtáraknál ami nem változik.

Na de mi van akkor, ha én csak akkor akarok menteni ezek után, ha változott a könyvtár ///mondjuk /home /// tartalma?

Ezekre lenne jó valamelyik a fentiek közül? Démonként futva figyel és átmenti a másik gépre? Persze tömörítve?

http://backuppc.sourceforge.net/

[quote:f1cd287bf6="keri"]Hát most a taral próbálkoztam.

mondjuk

#ez esetben becsomizza a teljes etc könyvtárat
tar -czf /tmp/backup/etc-`date +%Y%m%d`.tar.gz /etc/*

#aztán mivel másik gépre kell mentenie scp kulccsal
scp -i ~felhasznev/.ssh/id-dsa /tmp/backup/etc.....tar.gz masik felhasznalo@gépnév

Ezt berakom contabba aztán éjjel ellesz a gyerek.

Ez jó is mondjuk azoknál a könyvtáraknál ami nem változik.

Na de mi van akkor, ha én csak akkor akarok menteni ezek után, ha változott a könyvtár ///mondjuk /home /// tartalma?

Ezekre lenne jó valamelyik a fentiek közül? Démonként futva figyel és átmenti a másik gépre? Persze tömörítve?

rdiff-backup!!!!

Slbackup (rdiff-backup-ra epul). Erdemes kulon config-ot csinalni a napi/heti/havi menteseknek.

Végül is megvan tarral oldva a dolog, de lehet, hogy szebb lenne a megoldás mondo-mindi párossal.
Olvasgattam róla, esetleg valaki tudna bemutatni néhány kunsztott?

Ja és a változások figyelése még nem müxik tarral...

köszke

[quote:eac8e61899="keri"]
Na de mi van akkor, ha én csak akkor akarok menteni ezek után, ha változott a könyvtár ///mondjuk /home /// tartalma?

tar -N dátum ... == csak a dátumnál frissebbeket archiválja,
tar -l ... == nem megy rá az esetlegesen bemountolt egyéb filerendszerekre, pl. /proc, /dev
tar ... --exclude path1 path2 .. pathN == a path1.. pathN-eket rekurzive kihagyja (pl. /var/run, /var/tmp, /var/state)

[quote:178e91048b="keri"]Ja és a változások figyelése még nem müxik tarral...

[code:1:178e91048b]tar(1)
(...)
-N, --after-date DATE, --newer DATE
only store files newer than DATE[/code:1:178e91048b]Vagy nem erre gondolsz?

Ezt most nem egészen értem.

Mi az, hogy csak a frissebbet archiválja?

Ezek szerint akkor hogyan tudnám tarral renesen lmenteni a teljes gépet?

előre is köszi!

Sziasztok!

Kellene egy viszonyleg könnyen kezelhető mentő progi amvel menedzselni tudom, hogy miket /pl... /var/lib a többit innen ne/ mentsen le egy mondjuk másik gépre.

Jó lenne, ha benne lenne a disztróban.. :)

Jelenleg a Baculát tekergetem, nekem éppen nem túl könnyű, talán kissé körülményes...de azé hatásos cucc.

Van valami ötletetek?

Köszke

Na jó ez mind oké, csak akkor hol adom meg a kulcsot illetve hogyan dobom be ezt con-ba rendesen.

Kicsit zavaros most a dolog.... :?

keri - szvsz rdiff-backuppal jobban jarnal. egyszerubb es osszeszedettebb rendszer mint a kezi hekkeles

na mindegy nem eroszakoskodok.

A "csak a frissebbet"-et úgy értettem, hogy mindent, ami később módosult v. keletkezett, mint az általad megadott dátum.

A leggyorsabb megoldás a távoli gép mentésére:
[code:1:d384fdb9b6]
ssh root@gep 'tar cvz --exclude /dev --exclude /proc' >nagymentes.tar.gz
[/code:1:d384fdb9b6]

Csak hát ugye root-ot nem szokás direktben beengedni, így aztán a fenti tar parancsot célszerű egy scriptbe tenni, pl. /usr/local/sbin/nagymentes.sh névre:
[code:1:d384fdb9b6]
#!/bin/bash
tar cvz --exclude /dev --exclude /proc
[/code:1:d384fdb9b6]
aztán egy egyszerű usernek adni rá sudo jogot, hogy ő root joggal futtathassa, azaz a /etc/sudoers-be a köv. sort:
[code:1:d384fdb9b6]gipszjakab ALL=NOPASSWD:/usr/local/sbin/nagymentes.sh[/code:1:d384fdb9b6]
Ezután már nem kell tudni root-ként ssh-zni, mert a mentés úgy néz ki, hogy:
[code:1:d384fdb9b6]
ssh gipszjakab@gep 'sudo /usr/local/sbin/nagymentes.sh' >nagymentes.tar.gz
[/code:1:d384fdb9b6]

Ezzel van full mentésed, ha szeretnél különbözetit is, akkor kicsit meg kell spékelni, pl. egy üres file-lal (pl. /var/state/backup néven) jelezni a legutolsó nagy mentés idejét:
[code:1:d384fdb9b6]
#!/bin/bash
tar cvz --exclude /dev --exclude /proc
touch /var/state/backup
[/code:1:d384fdb9b6]

Ha már tudjuk a nagy mentés idejét, akkor csinálhatunk ehhez hasonlóan egy /usr/local/sbin/kismentes.sh-t is, ami csak azon file-okat menti, amik azóta módosultak, hogy a /var/state/backup-hoz utoljára hozzányúltunk:
[code:1:d384fdb9b6]
#!/bin/bash

tar czlN "$(date -r /var/state/backup)" --exclude /dev --exclude /proc /
[/code:1:d384fdb9b6]
Itt a tar parancssora bővül a fent említett 'N' opcióval, azaz csak az 'N' után megadott dátumnál frissebb cuccokat kérem archiválni, ahol a dátumot a marker-file módosítási dátumából nyerem, ezt csinálja a 'date -r filenév'.
Persze ehhez is kell egy sor a /etc/sudoers-be:
[code:1:d384fdb9b6]gipszjakab ALL=NOPASSWD:/usr/local/sbin/kismentes.sh[/code:1:d384fdb9b6]

Ennek a hívása természetesen:
[code:1:d384fdb9b6]
ssh gipszjakab@gep 'sudo /usr/local/sbin/kismentes.sh' >kismentes.tar.gz
[/code:1:d384fdb9b6]

Ezzel a módszerrel pl. hetente/havonta egyszer csinálhatsz nagy mentést, naponta meg kicsit, és bármelyik napi állapotra vissza tudsz állni úgy, hogy először kicsomagolod az utolsó nagy mentést, aztán a megfelelő napi kicsit:
[code:1:d384fdb9b6]
tar xvzf /cdrom/utolso_nagymentes.tar.gz
tar xvzf /cdrom/kismentes_szerda.tar.gz
[/code:1:d384fdb9b6]

A dolog hátránya, hogy a _teljes_ mentésed titkosítatlanul keletkezik, tehát ha megtörik azt a gépedet, ahol a .tar.gz-ket tárolod, akkor meg van törve a másik is, így aztán érdemes a mentéseidet titkosítani is, pl. gpg-vel.

Ha úgy gondolod, összerittyentek egy ennél kicsit bőbeszédűbb leírást is, aztán felpakolom valahová, de előbb várnék egy kicsit, mert szerintem tuti, hogy a fórumtársak tudnak pár hasznos trükköt, amivel lehetne javítani a dolgon.

Ezek a tutik?

Oksa megnézem...
egyéb ötlet?

Úgy néz ki a dolog, hogy van 3 gép amiről kell a mentés. Ezeket egy gépre kell felrántani.
az scp hez kell majd a kulcs is a scriptbe mert akkor nem kéll passwordot.

Várom én is a fórumtársakat, de amúgy teljesen érthető a dolog.

[quote:1332ccb7b6="keri"]Úgy néz ki a dolog, hogy van 3 gép amiről kell a mentés. Ezeket egy gépre kell felrántani.
az scp hez kell majd a kulcs is a scriptbe

Én a fenti példában 'gipszjakab'-nak aposztrofált user home-jában a .ssh/authorized_keys-be tettem be az otthoni gépemen legenerált kulcspár publikus részét, így aztán drótozni se kellett, és jelszót sem kér. No pláne, hogy otthon is van egy direkt erre csinált account, aki crontab-ból futtatja a mentést, így aztán nekem már csak gyönyörködnöm kell a működő rendszerben :).

Hali!

Tehát akkor így néz ki egy teljes mentés egy gépről + a cucc scpzése másik gépre, majd törlés? Mondjuk nagymentes.sh

#!/bin/bash
tar cvz /* --exclude /dev --exclude /proc --exclude /mnt > nagymentgep1-`date +%Y%m%d`.tar.gz
scp -i ~user/.ssh/id_dsa /root/nagymentgep1-`date +%Y%m%d`.tar.gz masik_user@celgep:
rm /root/nagymentgep1-`date +%Y%m%d`.tar.gz

Jó ez egyáltalán?

Ezek után, hogy tudom akkor pontosan megcsinálni, hogy ettől a dátumtól már csak a változott cuccokat mentse?
Kell egy másik script, de az hogy kell, hogy kinézzen?

köszi

[quote:cf41b3fb3f="keri"]Hali!
Tehát akkor így néz ki egy teljes mentés egy gépről + a cucc scpzése másik gépre, majd törlés? Mondjuk nagymentes.sh
#!/bin/bash
tar cvz /* --exclude /dev --exclude /proc --exclude /mnt > nagymentgep1-`date +%Y%m%d`.tar.gz
scp -i ~user/.ssh/id_dsa /root/nagymentgep1-`date +%Y%m%d`.tar.gz masik_user@celgep:
rm /root/nagymentgep1-`date +%Y%m%d`.tar.gz

Jó ez egyáltalán?

Ezek után, hogy tudom akkor pontosan megcsinálni, hogy ettől a dátumtól már csak a változott cuccokat mentse?
Kell egy másik script, de az hogy kell, hogy kinézzen?

köszi

Hmm, az a gondom vele, hogy maga a targéza a mentendő gépen keletkezik, ergo egyrészt ügyelni kell, hogy ne próbálja magát a targézát is learchiválni, másrészt pedig elegendő szabad helynek kell lennie ott. Ezért javasoltam inkább azt, hogy a mentő script dolgozzon csak a standard output-jára, és az ssh kimenetét irányítsd a helyi gépen file-ba. (Ha már egyszer az ssh simán áthozza az ott indított parancs stdin/out/err-jét, elkerülhető az átmeneti file.)
Tehát a mentendő gépeken a nagymentes.sh:
[code:1:cf41b3fb3f]
#!/bin/bash
tar cvz --exclude /dev --exclude /proc --exclude /mnt /
[/code:1:cf41b3fb3f]
Aztán a központi mentő gépen:
[code:1:cf41b3fb3f]
ssh user@nagygep1 'nagymentes.sh' > nagymentgep1-`date +%Y%m%d`.tar.gz
ssh user@nagygep2 'nagymentes.sh' > nagymentgep2-`date +%Y%m%d`.tar.gz
ssh user@nagygep3 'nagymentes.sh' > nagymentgep3-`date +%Y%m%d`.tar.gz
[/code:1:cf41b3fb3f]
Ezzel csak az lesz a gond, hogy a mentő script 'user' jogaival fog futni, és csak azt tudja archiválni, amihez hozzáfér. Root-ként persze olvashatna mindent, de hagyományosan nem szokás a root-ot beengedni ssh-n (bár ennél kisebb kijelentésből is volt már hitvita :)).
A különbözeti mentés ettől csak annyiban tér el, hogy kell tudni az utolsó mentés dátumát, és azt a 'N' opcióval megadni a tar-nak.

szia!

nem megadott datummal mented hanem mindig azon a néven és rsyn-el masolad at akkor a hálózaton csak a változás megy át.

Zoli

Kicsit nehezen igazodok ki ezekből.
Az rsyncet feltettem és tökéletesen tudok vele egy filét fépről gépre másolni.
Mondjuk ez megy scp-vel is.

Na de a tömörítésre nem jöttem rá.

A teljes gépről egy paranccsal tud valamelyik backupot /tömörítve/ készíteni?

Vagy mondjuk az /etc, /var, /usr ...ezekről?

Vagy inkább hagyjam is legyen a jó öreg targz?

HELP!

Szerintem a DAR egy jó alternatíva (http://sourceforge.net/projects/dar/).
Nekem bejött. Deb csomagban nincs, de könnyű telepíteni.

Szemelyszerint plbackitupot hasznalok :)

Hali!

Na jó, de az rdiffet nem ismerem... nem tudom hogy működik...
még :)

[quote:3fefd13b30="keri"]Hali!

Na jó, de az rdiffet nem ismerem... nem tudom hogy működik...
még :)

nem rdiff
rdiff-backup - nem mindegy
http://www.nongnu.org/rdiff-backup/

Igaz-igaz....

megnézem, de ha tud vki segíteni az jó lenne...

köszi

valami ilyesmire, csak egy konkrét példa kéne mert ezzel nekem nem müxik.

+ azt is meg lehet csinálni, hogy mikor a teljes gépet tarozom /* akkor magát a tömörítvényt amit cinál, nem vegye bele újra?
--exclude /valahol/backup.tar.gz /erre nem csinál semmit/

8)

Esetleg megnézhetnéd még a hdup-ot

http://www.miek.nl/projects/hdup2/index.html

Features:
# simple to use,
# small and versatile backup program,
# support for incremental backups,
# support for backups over the network (with ssh),
# support for network restore (with ssh),
# support for encrypted backups (using mcrypt, gnupg),
# support for split up archives (called chunks),
# support for .nobackup files (to exclude certain directories),
# flexible regular expression based include/exclude mechanism,
# designed to be run from cron.

Udv!

Húú elég sok az infó, van miből válogatni...

Ezt a témát azt hiszem ki is veséztük..

Köszi mindenkinek az infót!

:P

Pedig komoly programok nem is lettek emlitve:

afbackup,
amanda,
mondo

Azert a crash recovery a mostani vinyok mellett fontos szempont.

rsync -va /honnan /hova
Ha / -t kell a becsatolt partíciók nélkül akkor rsync -vax.
Szerverek között: rsync -va /var/www/ user at server.hu:/backup/www/

Nekem még két szempontom van amit figyelembe kellene venni.
1. SQL szerverek mentése
2. virtuális gépek mentése.
Az SQL-re azt a megoldást használom, hogy mentés előtt csinálok egy dump-ot, majd azt mentem.

Virtuális gépnél gondolkodtam, hogy suspend-be teszem és úgy mentem, de produkcióban nem biztos, hogy meg lehet állítani. :(