HTML

Linux admin hogyanok

Köszöntelek a Linux admin hogyanok blogomon! Munkám során, sok saját jegyzetet készítek, hogy visszakeresve könnyebben menjen legközelebb. Arra gondoltam, ezt meg is osztom, hátha másoknak is segítségére válik. Enjoy! :)

Friss topikok

  • bAndie91: volumeDown+middle+Hangup kombinációval sikerült "Downloading" módba boot-olni (gondolom egyenlõ a ... (2011.02.18. 12:41) Android update (HTC magic 1.6-2.1)

Linkblog

mysql automatizalt backup

burgerrecords 2010.10.05. 15:39

Egy  nagyon egyszerű, de annál hasznosabb és hétköznapi témát feszegetünk ma is. A backup fontosságáról most nem beszelnék, erre úgyis mindenki maga jön rá, az első jelentős adatvesztésekor. Szóval feltételezzük, ez már megvolt es szeretnénk backupolni. Mysql szerver manapság elég sok helyen megtalálható, rengeteg honlap, alkalmazás mögött fut megbízhatóan. Kezelése igen egyszerű és hatékony.

A backupplant, vagyis hogy a mentések milyen stratégia szerint készülnek, egy komoly téma, és sok-sok összetevője lehet, majd másik alkalommal kitárgyaljuk. Ez alkalommal egy nagyon egyszerű esetett veszünk gyakorlatban végig. Van egy szerverünk, amin egy belsős wiki oldal fut, amögött álló mysql szervert szeretnénk rendszeresen automatizálva mentesni.

Mysql szerver telepítéséről rengeteg jó leírás található a neten, a mai modern linux rendszereken két paranccsal kb. az egész megoldható, nem térnék erre ki, szóval feltételezzük, az adatbázisunk már fent és fut (up and running ) :)

A módszer pofon egyszerű :egy rövidke szkriptet készítünk, ami aztán a crontabbol fog futni.

A kedvenc eszközünk pedig ehhez a mysqldump lesz, amit megfelelően paraméterezünk:

#!/bin/sh
/usr/bin/mysqldump -uroot -pjelszo --opt wikidb -c | /bin/gzip -9  > /var/backup/wikidb_$(date '+%Y%m%d').sql.gz

Az értelmezése a következő: mysqdump a segédeszköz, amivel mentést készítünk (ún. dumpot készítünk, -u után következik a user amelyikkel csináljuk, itt most root szerepel, de bármelyik user megfelelő, ha van íras/olvasás joga az adott DB-re. -p jelszó, --opt adatbázis név.
A | jel utáni rész kihagyható, ez egy egyszerű tömörítési eljárás. A dumpot vagyis a mentést átadjuk a gzip programnak, majd a -9-es kapcsolóval extra magas tömörítést kérünk rá.
Elég hasznos, egy nagyobb adatbázisnál, ha csak biztonsági mentést csinálunk, töredékére tömörítheti az adatbázis mentést, amit persze kitömöríthetünk, ha szükség van rá. Ne felejtsük el futathatóvá tenni a szkriptet (chmod 755 backup_wiki.sh)

A > jelel pedig az egészet bele irányítjuk egy file-ba, ami maga lesz a mentésünk. A hozzáillesztjük a filenévhez az ún. "timestampet" akkor mindenkori mentésednek a neve (ebben az esetben) wiki_db_mentesidopontja.sql.gz lesz.

Ezek után nincs más hátra mint berakni a cronbtab-ba, hogy automatikusan futassa, az altalunk megadott időpontokba. Crontab egy remek kis időzítő eszköz a linuxban, szkripteket, parancsokat időzíthetsz és ismételhetsz, bármilyen időközönként.
A tartalmat a crontab -l paranccsal kérheted le, szerkeszteni pedig a crontab -e paranccsal lehet. Tehát szerkesszük is meg, és rakjuk bele a szkriptünket. A példánkban minden vasárnap hajnali 4 kor fog futni a szkript. Tehát - adatbázis méretétől függően - 4 után par perccel (pár 10-el, pár órával) kész a friss mentésünk az adatbázisunkról.

crontab -e

00 4 * * 0 /var/backup/backup_scripts/backup_wikidb.sh

Az cron felépítése eleinte fura lehet, de egyszerű és hatékony. 5 db * jelzi az időzítést sorban: perc, óra, nap, hónap, a hét napja (számszerint: vasárnap 0, hétfő 1, kedd 2, stb.). Utána pedig a parancs, esetünkben a szkript. Tehát ha azt akarjuk hogy valami minden nap pontban 3:30 kor fusson, a következőképpen kell rendezni a cronunkat: 30 3 * * * parancs. És így tovább.

Készen is volnánk, ezek után ha van külön backup szerverünk, akkor szinten szkriptesítve/crontabbal megoldhatjuk, hogy átmásolja azt oda, vagy pedig alapból a backupot oda irányítani. Meg érdemes egy olyan szkriptet is ami időközönként "takarít", tehát az elavult backupokat törli.

#!/bin/sh
find /var/backup/ -type f -mtime 3|xargs rm -f

A működése szerint, a /var/backup könyvtárban keresi azokat a fileokat (tehát nem könyvtárakat), amik 3 napnál régebbiek és azokat törli. Természetesen a backuplan része, hogy ezeket a mentéseket milyen gyakran töröljük. Ha kész a szkript, futatthatóvá tesszük es cronba rakjuk ezt is.

 

 

Szólj hozzá!

A bejegyzés trackback címe:

https://linuxadmin.blog.hu/api/trackback/id/tr902346985

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása