Hogyan lehet adatokat menteni és visszaállítani a Linux rendszeren?

Linux 2 perc olvasás

Linuxon nincs egyetlen „mentés gomb”: az adatok típusától függően más-más eszköz a megfelelő. A fájlokat másolni vagy archiválni kell, az adatbázisokat a saját mentőeszközükkel kell kiírni, a teljes rendszerről pedig pillanatkép készülhet. Az alábbiakban a leggyakoribb módszereket és a visszaállításukat mutatjuk be. A mentési stratégiáról (mit, hova és milyen gyakran) a VPS mentéséről szóló cikkünk szól.

1. Fájlok másolása rsync-kel

Az rsync csak a megváltozott fájlokat másolja, ezért rendszeres mentésekhez ideális. Megőrzi a jogosultságokat, a tulajdonosokat és a dátumokat, és SSH-n keresztül egy másik gépre is tud másolni:

# Helyi mentés egy másik lemezre
rsync -a /var/www/ /mnt/mentes/www/

# Mentés egy távoli szerverre SSH-n keresztül
rsync -az /var/www/ mentes@backup.example.com:/mentesek/www/

Visszaállításkor a forrás és a cél helyet cserél:

rsync -a mentes@backup.example.com:/mentesek/www/ /var/www/

Figyeljen a forrás végén álló perjelre: /var/www/ a mappa tartalmát, /var/www magát a mappát másolja. A részletekről a fájlok szerverek közötti másolásáról szóló cikk szól.

2. Archiválás tarral

Ha egy adott időpont teljes állapotát szeretné egyetlen fájlban megőrizni, készítsen tömörített archívumot:

# Mentés
tar -czf /mentes/www-$(date +%F).tar.gz -C /var www

# Visszaállítás
tar -xzf /mentes/www-2026-10-26.tar.gz -C /var

A dátum a fájlnévben segít több mentést megkülönböztetni. Részletesebben: tar.gz archívum készítése és kicsomagolása.

3. Adatbázisok mentése

Egy futó adatbázis fájljainak átmásolása nem ad megbízható mentést, mert a másolás közben is változnak. Használja az adatbázis-kezelő saját eszközét:

# MariaDB / MySQL mentés
mysqldump --single-transaction --routines adatbazis | gzip > adatbazis.sql.gz

# Visszaállítás
gunzip < adatbazis.sql.gz | mysql adatbazis

# PostgreSQL mentés és visszaállítás
pg_dump -Fc adatbazis > adatbazis.dump
pg_restore -d adatbazis adatbazis.dump

A --single-transaction kapcsoló InnoDB tábláknál zárolás nélkül, konzisztens állapotot ment. Újabb MariaDB verziókon a parancs neve mariadb-dump, a régi mysqldump név egyelőre működik, de a MariaDB elavultként jelöli.

4. Pillanatkép (snapshot)

A pillanatkép a teljes lemez állapotát rögzíti egy adott pillanatban, így egy hibás frissítés után az egész rendszer gyorsan visszaállítható. Linuxon az LVM is tud pillanatképet készíteni, virtuális szervernél pedig a virtualizációs réteg is (lásd: Mi az a pillanatkép?). A pillanatkép jellemzően ugyanazon a tárolón van, mint az eredeti adat, ezért nem helyettesíti a másik helyre készített mentést.

5. Automatizálás

A kézi mentés előbb-utóbb elmarad. A fenti parancsokat foglalja egy szkriptbe, és futtassa rendszeresen cron jobbal. Nagyobb adatmennyiséghez érdemes kifejezetten mentésre készült eszközt használni (például a restic vagy a BorgBackup programot), amelyek titkosítanak, csak a változásokat tárolják, és a régi mentéseket is kezelik.

Ellenőrizze a visszaállítást

Egy mentés csak akkor ér valamit, ha vissza is állítható. Időnként állítson vissza egy mentést egy tesztkönyvtárba vagy egy tesztadatbázisba, és ellenőrizze, hogy a fájlok hiánytalanok és az adatbázis betölthető. Archívumnál a tar -tzf mentes.tar.gz kicsomagolás nélkül kilistázza a tartalmat, a gzip -t pedig a tömörített fájl épségét ellenőrzi.

Ha nem szeretne a mentésekkel és a szerver karbantartásával foglalkozni, a menedzselt VPS szolgáltatás keretében ezt rendszergazdáink végzik.

Vissza: Linux leírások (51)