Ha már van egy kész rendszerünk, amelyen fontos adatokat is tárolunk, akkor célszerű erről néha backupot is készítenünk.

Igen persze erre van a RAID, ja nem. A raid nem backup készítésére való! A RAID futás idejű tükrözést tesz lehetővé, ezzel magas rendelkezésre állást és megbízhatóságot garantálva. Backup alatt időszakos állapot/adatmentést értünk, azaz napi/heti/havi bontásokban történő szinkronizálást az egyes adattárolók között.

Ez azért fontos, mert ha pl. Gizi néni fizetése késik hónap elején és közben lefő a kávé akkor indokolatlanul is elgurulhat a gyógyszere és elkezdhet beletörölni a céges hálózati meghajtón található adatállományokba, aminek lássuk be RAID esetén elég kemény következménye lehet... Viszont ha a RAID mellett van egy időszakosan bontott mentési mechanizmus is, ami minden nap/héten/hónapban egy alkalommal lefut ezzel kimentve az aktuális állapotokat, akkor jó eséllyel elég lessz kirúgni Gizit, és nem kell bezárnunk a céget. :)

Még jobb ha az egész automatikusan, csendben a háttérben zajlik. Erre számtalan megoldás létezik, én az RSYNC -t szoktam használni, mert egyszerű, fasza és működik!

Hogyan néz ki ez a gyakorlatban?

  • Hozzunk létre 3 db fájlt, egy olyan területen ahol csak a root garázdákodhat, lehet mondjuk a /root/Scripts/Backup mappában is, az alábbi(de tetszőleges) elnevezésekkel: touch daily.sh weekly.sh monthly.sh
  • Az RSYNC -nek meg kell adnunk a forrást amit szinkronizáljon, valamint a célt ahova szinkronizálja. További kapcsolókkal kis felruházhatjuk, ilyen pl az "--exclude" amivel kizárhatunk bizonyos mappákat a szinkronizációból, vagy a "--delete" kapcsoló amivel megmondhatjuk hogy töröld a forrásban meg nem található fájlokat a cél-állomásról. A fájlok tartalma valami hasonló legyen(szerkesztéshez a nano -t ajánlom): 
    #! /bin/bash
    #daily
    rsync -avz --exclude 'EztNeSzinkronizadMappa1' --exclude 'EztNeSzinkronizadMappa2'  --delete /mnt/DataStorage/UsersHome /mnt/BackupStorage/daily
    
    #weekly
    #rsync -avz --exclude 'EztNeSzinkronizadMappa1' --exclude 'EztNeSzinkronizadMappa2'  --delete /mnt/DataStorage/UsersHome /mnt/BackupStorage/weekly
    
    #monthly
    #rsync -avz --exclude 'EztNeSzinkronizadMappa1' --exclude 'EztNeSzinkronizadMappa2'  --delete /mnt/DataStorage/UsersHome /mnt/BackupStorage/monthly
  • Ha megvagyunk, akkor adjunk futási jogot az elkészült scripteknek: chmod a+x daily.sh weekly.sh monthly.sh
  • Most hogy ezzel is megvagyunk, teszteljük le egyessével a scripteket, megbizonyosodva arról, hogy működnek. Ezért futtassuk le őket egyenként és nézzük meg hogy a célállomáson megfelelően szinkronizálásra kerültek-e a mappák. Szükség esetén koorigáljuk a scriptet, persze hozzáadhatunk újabb sorokat is, ha máshonnan is szeretnénk szinkronizálni.
  • Ha ezzel is megvagyunk és minden fut faszán, akkor nem maradt más hátra mint felrakni a végére a pontot, az automatizációt. Ezt úgy tudjuk megtenni, hogy rootként belépve kiadjuk a crontab -e parancsot, aminek eremdényeképpen egy nano -t kapunk. Itt kell meghívnunk a létrehozott scripteke az alábbi módon:

    0 4 * * * /root/Scripts/Backup/daily.sh

    0 5 * * 5 /root/Scripts/Backup/weekly.sh

    0 6 1 * * /root/Scripts/Backup/monthly.sh

  • A mentést követően készen is vagyunk. A fenti beállítások értelmében, minden nap reggel 4 órakor, minden pénteken reggel 5 órakor és minden hónap első napján reggel 6 órakor készül egy biztonsági mentés a célmeghajtóra.

← Vissza: Linux