Egy módosított ‘rpi-clone’ a Raspberry Pi-nk biztonsági mentéséhez

Fotó: wikimedia.org

Fotó: wikimedia.org

Jó ideje hibátlanul muzsikál már itthon a kis RasPi-m, de az időszakos reszelgetéseimnek hála párszor azért volt már, hogy tönkre vágtam a Debiant alatta :) (Legutóbb egy “apt-get update” elég volt ehhez…) Ilyenkor jön jól ugye egy biztonsági mentés a rendszerről. Ez idáig rsync alapú fájl mentést használtam egy másik hosztra apróbb visszatöltésekhez és dd-vel lementett teljes SD backupot totális crash esetére. Ezzel azonban volt némi probléma, mivel 32GB-os SD-t használok a kütyüben, annak egy dd-vel való mentése több óra is lehet. Egy ekkora image visszaírása SD-re szintén rengeteg idő. Főleg bosszantó ez tudatában annak, hogy ebből a 32G-ból legtöbbször max 5GB-ot használok, a többi szabad terület. De ugye ez a dd-t nem érdekli, másol szépen bitről-bitre… :)

Aztán itt jött a képbe Bill Wilson remekül megírt shell szkriptje, az rpi-clone, ami egy RasPi SD-jét klónozza le egy másikra (USB-s kártyaolvasóba dugva a Raspberryn). A szép a megoldásában az, hogy ha elfér a futó RasPi rendszere kisebb kártyán, mint amin épp fut, akkor kisebb kártyára is átklónozza, ugyanis nem dd-t használ, hanem rsync-et, meg ugye előtte particionálgat a cél kártyán, szóval nem annyira favágó megoldás már, mint a dd-s.

És itt jött az ihlet, hogy nem lehetne-e ezt átírni úgy, hogy egy image fájlba mentsen, ne egy fizikai device-ra (SD kártya). Pár napnyi pötyörészés, fejvakarás, meg guglizás után végül sikerült megcsinálnom – loop device-ok segítségével. A megvalósítási részletekbe nagyon nem mennék bele, a lényeg, hogy nálam tesztelve, műxik, aki szeretné, használja egészséggel.

Első futáskor létrehoz egy konténer fájlt, amit felcsatol a loop device alá, ez idő. Viszont később már, ha ezt a fájlt megtartjuk, tud ebbe dolgozni, és pikk-pakk lehet vele menteni inkrementálisan a változásokat. A mentés végén erről a konténer fájlról készül másolatként a mi image-ünk. (Ami épp csak kevéssel nagyobb, mint amennyi helyet jelenleg elfoglalunk a RasPi-nk “/” és “/boot” fájlrendszerében.) Értelemszerűen a mentést egy USB-s eszközre kell csinálni. Ha kérdés van a használatával kapcsolatban, keressetek.

A script (amit “rpi-clone2“-nek neveztem el a keveredések elkerülése végett) letölthető innen, emígyen pl:

root@raspberrypi# wget http://linuxuckers.com/letoltes/rpi-clone2 -O /usr/local/sbin/rpi-clone2
root@raspberrypi# chmod a+x /usr/local/sbin/rpi-clone2
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.
This entry was posted in Shell szkriptelés and tagged , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>