Hogyan készítsünk biztonsági másolatot vagy állítsuk vissza a meglévő Redmine adatokat.

8/31/2020
10 minutes
Lukáš Beňa -> Lukáš Beňa

Minden projektmenedzsment megoldás sikeressége egyetlen dologon alapul - az adatokon. Tudja már, hogyan lehet biztonsági mentést készíteni vagy visszaállítani a meglévő adatokat a Redmine-ból? Ha nem, íme, hogyan teheti meg az adatbázisok mindegyikéhez.

A Redmine biztonsági mentése tartalmaznia kell:

  • Adatbázis
  • Csatolmányok (alapértelmezett módon a telepítési könyvtár alatt található fájlok könyvtárában)


Adatbázis biztonsági mentése


MySQL

A MySQL, a legnépszerűbb nyílt forrású SQL adatbázisrendszer, egyedülálló, elosztott és az Oracle Corporation által támogatott. A MySQL weboldal a legfrissebb információkat kínálja a MySQL szoftverről. A MySQL egy kezelőeszköz.

Az adatbázis egy strukturált adatsorozat. Lehet bármi egyszerű vásárlói lista, képgaléria vagy a vállalati hálózat jelentős mennyiségű adatai. Az adatokhoz való hozzáféréshez és feldolgozáshoz, amelyek egy számítógépes adatbázisban tárolódnak, egy adatbázis-kezelő eszközre van szüksége a MySQL szerverrel együtt. Mivel a számítógépek nagy mennyiségű adatok kezelésére kiválóak, a kezelőrendszerek központi szerepet játszanak a számítástechnikában, önálló segédprogramként vagy más alkalmazások részeként. A MySQL adatbázisok relációsak.

Egy elektronikus adatbázis külön táblákban tárolja az adatokat, ahelyett, hogy az összes adatot egy nagy raktárban helyezné el. Az adatbázis-struktúrákat sebességre optimalizált fizikai fájlokba rendezik. A logikai modell, olyan objektumokkal, mint az adatbázisok, táblák, nézetek, sorok és oszlopok, rugalmas programozási környezetet biztosít. Szabályokat állíthat be az egyes adatmezők közötti kapcsolatokra vonatkozóan, például egy az egyhez, egy a sokhoz, egyedi, kötelező vagy opcionális, és "mutatók" különböző táblák között.

Az adatbázis támogatja ezeket a szabályokat, és egy nagyon jól tervezett adatbázissal az alkalmazása soha nem lesz inkonzisztens, duplikált, árva, elavult vagy hiányzó adatokkal. Az "MySQL" SQL része az "Structured Query Language" rövidítése. Az SQL a leggyakoribb szabványosított nyelv, amely az adatbázisokhoz való hozzáféréshez szükséges. A programozási környezetétől függően közvetlenül beírhat SQL-t (például jelentésekhez), beágyazhat SQL utasításokat más nyelvben írt kódba, vagy használhat nyelvspecifikus API-t, amely elrejti az SQL szintaxist. Az SQL-t az ANSI/ISO SQL szabvány határozza meg.

A MySQL szoftver nyílt forráskódú. A nyílt forráskód azt jelenti, hogy bárki használhatja és módosíthatja a szoftvert. Bárki letöltheti a MySQL szoftvert az internetről, és ingyen használhatja. Ha szeretné, megnézheti a forráskódot, és megváltoztathatja az igényei szerint.

A MySQL szoftver a GPL (GNU General Public License) használatát teszi lehetővé, hogy meghatározza, mit tehet és mit nem tehet a szoftverrel bizonyos helyzetekben. Ha kellemetlenül érzi magát a GPL-tól, vagy be szeretné ágyazni a MySQL kódot egy üzleti alkalmazásba, vásárolhat tőlünk kereskedelmi licencelt verziót.

További információkért lásd a MySQL licensz áttekintést. A MySQL adatbázis szerver nagyon gyors, megbízható, skálázható és könnyen használható. Ha ezt keresi, érdemes kipróbálnia. A MySQL szerver könnyen futtatható egy laptopon, más alkalmazások, webkiszolgálók stb. mellett, kevés figyelmet igényelve.

Ha teljes rendszert szentel a MySQL-nek, módosíthatja a beállításokat, hogy kihasználja az összes rendelkezésre álló memóriát, CPU teljesítményt és I/O kapacitást. A MySQL akár gépklaszterekre is skálázható, amelyek hálózaton keresztül kapcsolódnak egymáshoz. A MySQL szerver eredetileg nagy adatbázisok kezelésére lett kifejlesztve, sokkal gyorsabban, mint a meglévő megoldások, és évek óta sikeresen alkalmazzák nagyon igényes termelési környezetekben. Bár folyamatosan fejlesztés alatt áll, a MySQL szerver most gazdag és értékes funkciógyűjteményt kínál.

Kapcsolódási lehetőségei, sebessége és biztonsága miatt a MySQL szerver kiválóan alkalmas az interneten található adatbázisokhoz való hozzáférésre. A MySQL szerver kliens/szerver működésben vagy beágyazott működésben fut. A MySQL adatbázis szoftver egy kliens/szerver rendszer, amelynek többszálas SQL szervere támogatja a különböző háttérrendszereket, számos különböző ügyfélalkalmazást és könyvtárat, adminisztratív eszközöket és széles körű alkalmazásprogramozási interfészeket (API-kat) kínál.

Nagyon valószínű, hogy kedvenc szoftvere vagy nyelve támogatja a MySQL adatbázis szerverét. Az "MySQL" kiejtése "My Ess Que Ell" (nem "my sequel"), de rendben van, ha "my sequel"-ként vagy más lokalizált módon ejti ki.

Így készíthet biztonsági mentést a MySQL adatokról:

A mysqldump parancs használható a MySQL adatbázis tartalmának biztonsági mentéséhez egy szöveges fájlba. Például:

mysqldump -u <felhasználónév> -p <jelszó> <adatbázis_név> > /path/to/backup/db/redmine.sql

Az <felhasználónév>, <jelszó>, <hosztnév> és <redmine_adatbázis> megtalálható a config/database.yml fájlban. Az <hosztnév> nem szükséges a telepítéstől függően.

PostgreSQL

A PostgreSQL egy vállalati osztályú nyílt forráskódú adatbázis-kezelő rendszer. Támogatja mind a relációs SQL-t, mind a nem relációs JSON-t. Tapasztalt fejlesztői közösség támogatja, akik jelentős hozzájárulást tettek az adatbázis-kezelő rendszer megbízhatóságának kialakításában. A PostgreSQL támogatja az előrehaladott adattípusokat és a teljesítmény optimalizálást, amelyek a drága üzleti adatbázisokban, mint az Oracle és a SQL Server, elérhetőek.

MySQL vagy PostgreSQL?

A MySQL projekt forráskódja elérhető a GNU License és más kizárólagos megállapodások feltételei mellett. A PostgreSQL a PostgreSQL License alatt van kiadva. Az Oracle Corporation tulajdonában van, és több fizetős kiadást kínál. Az ingyenes és nyílt forráskódú szoftver, ami azt jelenti, hogy sosem kell fizetni semmit ezért a szolgáltatásért.

A MySQL csak az NDB és az InnoDB Cluster Storage motorok használatakor teljesen ACID-kompatibilis, míg a PostgreSQL teljesen ACID-kompatibilis. A MySQL jól teljesít OLAP és OLTP rendszerekben, ahol csak az olvasási sebesség fontos. A PostgreSQL teljesítménye a bonyolult lekérdezések végrehajtására alkalmas rendszerekben működik a legjobban.

A MySQL megbízható és jól működik az üzleti intelligencia alkalmazásokkal, amelyek nehézkesen olvashatók. A PostgreSQL jól működik az üzleti intelligencia alkalmazásokkal is, azonban inkább alkalmas adattárolásra és adatelemzésre olyan alkalmazásokban, amelyek gyors olvasási-írási sebességre van szükség.

Így készíthet biztonsági másolatot a PostgreSQL adatbázisáról:

  1. Jelentkezzen be a postgres felhasználóként:

    su - postgres

  2. Használja a pg_dump parancsot az összes tartalom biztonsági mentéséhez egy PostgreSQL adatbázisból egy szöveges fájlba:

    pg_dump -U <felhasználónév> -Fc <adatbázis_neve> > /path/to/backup/db/redmine.sql

A felhasználónév és az adatbázis_neve megtalálható a config/database.yml fájlban. A pg_dump parancs segít hozzáférni a jelszóhoz, amikor szükséges.


SQLite

Az SQLite egy szoftverkönyvtár, amely elektronikus adatbázis-kezelő rendszert biztosít. Az SQLite-ban a "lite" a telepítés, az adatbázis-kezelés és a szükséges erőforrások szempontjából könnyű. Az SQLite-nak a következő jelentős jellemzői vannak: önálló, szerver nélküli, nullakonfigurációs, tranzakcionális. Szerver nélküli Általában egy RDBMS, mint például a MySQL, a PostgreSQL stb., külön szerverfolyamatot igényel a működéshez.

Az adatbázis-szerverhez hozzáférő alkalmazások a TCP/IP protokollt használják a kérések küldéséhez és fogadásához. Ezt nevezik kliens/szerver architektúrának. RDBMS kliens/szerver architektúra Az SQLite nem így működik. Az SQLite-hoz nem szükséges szerver a futtatáshoz. Az SQLite adatbázis integrálva van az adatbázishoz hozzáférő alkalmazással.

Az alkalmazások közvetlenül az SQLite adatbázissal kommunikálnak, hogy közvetlenül olvassanak és írjanak az adatbázisfájlokba, amelyek a merevlemezen vannak tárolva. Az SQLite önmagában is működő módszer, amely minimális segítséget igényel az operációs rendszertől vagy a külső könyvtártól. Az SQLite ezért hasznos bármilyen helyzetben, különösen beágyazott eszközökön, mint például az iPhone-ok, az Android telefonok, a játékkonzolok, a hordozható médialejátszók stb. Az SQLite-t az ANSI-C használatával fejlesztették ki.

A forráskód egy nagy sqlite3.C fájl és annak fejlécfájlja, a sqlite3.H. Ha olyan alkalmazást szeretne fejleszteni, amely az SQLite-ot használja, csak be kell helyeznie ezeket a fájlokat a projektjébe, és össze kell állítania a kódjával. A nullakonfigurációs szerver nélküli architektúra miatt nem kell telepíteni az SQLite-ot a használata előtt. Nincs szükség konfigurációs fájlokra sem az SQLite esetében. Az összes tranzakció az SQLite-ban teljes mértékben ACID-kompatibilis.

A módosítások atomiak, következetesek, elszigeteltek és tartósak. Más szóval, az összes módosítás egy tranzakcióban teljes mértékben megtörténik, vagy egyáltalán nem történik meg, még akkor sem, ha váratlan helyzet áll elő, mint például az alkalmazás összeomlása, az áramkimaradás vagy az operációs rendszer összeomlása. Az SQLite egyedi jellemzői közé tartozik, hogy az SQLite dinamikus típusokat használ a táblázatokhoz. Ez azt jelenti, hogy bármilyen értéket tárolhat bármely oszlopban, függetlenül az adattípustól. Az SQLite lehetővé teszi, hogy egy adatbázis-kapcsolat egyidejűleg hozzáférjen egy adatbázisfájlhoz.

Ez sok előnyös funkciót biztosít, mint például a táblázatok összekapcsolása különböző adatbázisokban vagy az adatok másolása az adatbázisok között egyetlen parancsban. Az SQLite képes in-memory adatbázisokat létrehozni, amelyekkel nagyon gyorsan lehet dolgozni. Az SQLite adatbázisai minden egyes fájlban vannak tárolva, így másolással biztonsági másolatot lehet készíteni róluk egy másik helyre. Az SQLite adatbázis fájlnevének meghatározásához tekintse meg a config/database.yml fájlt.


Csatolmányok biztonsági mentése

Minden fájlfeltöltés az attachments_storage_path-ban van tárolva (alapértelmezett beállítás a files/ könyvtár). A könyvtáron belüli tartalmat másolhatja egy másik helyre a gyors biztonsági mentéshez.

FIGYELEM: Az attachments_storage_path eltér

Mintapéldák biztonsági mentési scriptekről

Itt található egy egyszerű shell script, amelyet napi biztonsági mentésekhez lehet használni (feltéve, hogy MySQL adatbázist használ):

# Adatbázis

/usr/bin/mysqldump -u <felhasználónév> -p<jelszó> <redmine_adatbázis> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz

# Mellékletek

rsync -a /path/to/redmine/files /path/to/backup/files


Adatbázis helyreállítása


MySQL

Például, ha van egy gzipelt dump fájl a 2018-07-30 címmel, akkor az adatbázis helyreállítható a következő parancs segítségével:

gunzip < 2018-07-30.gz | mysql -u <felhasználónév> -p <redmine_adatbázis>

Írja be a jelszót.


PostgreSQL

Ha a pg_dump parancs -Fc opcióját használja, ahogy az a fenti példában is látható, akkor a pg_restore parancsot kell használnia:

pg_restore -U <felhasználónév> -d <redmine_adatbázis> redmine.sql

Egy szöveges fájl is helyreállítható a psql segítségével:

psql <redmine_adatbázis> < <infile>


SQLite

Másolja a biztonsági mentés helyéről az adatbázis fájlt.

Az utolsó Redmine frissítés? Egyszerű.

Szerezd meg az összes erőteljes eszközt a tökéletes projekttervezéshez, -kezeléshez és -irányításhoz egyetlen szoftverben.

Próbálja ki az Easy Redmine-t 30 napos ingyenes próbaverzióban

Minden funkció elérhető | SSL tanúsítvány | Napi mentések