2019. május 1., szerda

Biztonsági mentés, szinkronizáció linuxról (NAS-ra) rsync használatával

Van egy Zyxel NSA325v2 NAS-om, aminek a szoftvere már elég elavult volt. Ha jól emlékszem, talán 2.4-es kernel volt alatta és már jóideje nem kapott frissítéseket sem. Ezért aztán úgy döntöttem, hogy feldobok egy debiant rá. Ez nem volt annyira egyszerű, de lehet csinálok majd egy leírást róla (már amennyire még emlékszem).

Lényeg az, hogy most egy OpenMediaVault fut rajta, néha frissítem is mikor eszembe jut, de úgy teszi a dolgát, bár lehetne még foglalkozni vele.

RAID0-ban vannak a lemezek benne és felmerült az ötlet, hogy mi lenne ha a saját gépem /home/adam könyvtárát tükrözném rá. Erre megfelelő program az rsync, ami szinte minden linux rendszeren megtalálható vagy elérhető.

Igazából egyetlen parancs az egész, ami ha jól van paraméterezve, akkor teszi a dolgát gond nélkül.

rsync -avz --delete --progress --exclude '.cache' --exclude '.local/share/baloo' /home/adam adam@192.168.0.195:/sharedfolders/raid1/Adam

Ezt kell futtatnom a gépemen és elkezdődik a folyamat. Elmagyarázom a fontosabb paramétereket:
rsync -> ez a szoftver neve
-avz -> ez most lényetelen, kell és legyen elég ennyi (a rsync manualban benne van, ha érdekel)
--delete -> lényegében ettől lesz a sima másolás helyett tükrözés, ami annyit takar, hogy ha valamit törlök a gépemen, akkor a távoli oldalon is törlődni fog.
--progress -> ez csak annyit tesz, hogy a folyamat közben kiírja az éppen másolt fájlokat. Akit nem érdekel ennyire részletesen a folyamat, nyugodtan kihagyhatja.
 --exclude 'valami'  -> a valami helyére beírod a kihagyni kívánt fájl vagy mappa nevét. Ha több mappát akarsz kihagyni, mint ahogy én is, akkor többször is használhatod a paramétert.
/home/adam -> nekem ez a forrás könyvtáram, ennek a tartalmát másolja
adam@192.168.0.195:/sharedfolders/raid1/Adam -> felhasználónév@szervercíme:/célmappa

Javasolt tesztelni, hogy valóban azt csinálja-e amit szeretnénk. Ha már van egy meglévő fájlunk és módosul a tartalma, azt is felülírja az újjal.

Miután megfelelően működik a dolog, érdemes lehet ütemezni a folyamatot, hogy automatikusan fusson le bizonyos időközönként. Mivel nálam jelszót kér a szerver a bejelentkezéskor, így nem fogom tudni automatizálni így (legalábbis még nem találtam megoldást erre) viszont van lehetőség ssh felett futtatni a rsync-et, így viszont automatizálható, mert generálok egy kulcsot magamnak, amivel a gép mindig be fog tudni lépni és lefut a script. De ezt majd egy következő blogban.

További linkek:
 https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
 https://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/comment-page-1/

Nincsenek megjegyzések:

Megjegyzés küldése