Kuidas varundada või taastada oma olemasolevad Redmine'i andmed

1/1/2024
10 minutes
Lukáš Beňa

Iga projektihalduse lahenduse edu põhineb ühel lihtsal asjal - andmetel. Kas te juba teate, kuidas varundada või taastada oma olemasolevaid andmeid Redmine'ist? Kui ei, siis siin on, kuidas seda saate teha iga andmebaasi jaoks.

Redmine varukoopiad peavad sisaldama:

  • Andmebaas
  • Manused (vaikimisi paigutatud failide kataloogi paigalduskataloogi alla)


Andmebaasi varundamine


MySQL

MySQL, kõige populaarsem avatud lähtekoodiga SQL-andmebaasisüsteem, on unikaalne, hajutatud ja Oracle Corporationi toetatud. MySQLi veebisait pakub viimaseid fakte MySQLi tarkvara kohta. MySQL on haldusvahend.

Andmebaas on struktureeritud statistikate kogum. See võib olla midagi lihtsast ostunimekirjast kuni pildigalerii või suurte andmehulkadeni ettevõtte võrgus. Arvutis andmebaasis olevate andmete lisamiseks, juurdepääsuks ja töötlemiseks vajate andmebaasi haldusvahendit koos MySQL Serveriga. Kuna arvutid on suure hulga statistika käsitsemisel suurepärased, mängivad haldussüsteemid arvutuses keskset rolli, kas iseseisvate tööriistadena või osana teistest rakendustest. MySQLi andmebaasid on seotud.

Elektrooniline andmebaas salvestab statistikat eraldi tabelitesse, mitte pannes kogu statistikat ühte suurde ladustamiskohta. Andmebaasi struktuurid on kiiruse optimeerimiseks füüsiliselt korraldatud failidena. Loogiline mudel koos andmebaaside, tabelite, vaadete, ridade ja veergudega pakub paindlikku programmeerimiskeskkonda. Seadestate reeglid erinevate andmeväljade suhete kohta, näiteks üks-ühele, üks-mitmele, ainulaadne, nõutav või valikuline ning "viited" erinevate tabelite vahel.

Andmebaas toetab neid reegleid ja väga hästi kavandatud andmebaasi korral ei ole teie rakendus kunagi ebajärjekindel, topelt, orb, aegunud ega puuduvad andmed. "MySQLi" SQL-i osa tähistab "Struktureeritud päringukeelt". SQL on kõige levinum standarditud keel, mis vajab andmebaasidele juurdepääsu. Sõltuvalt teie programmeerimiskeskkonnast saate SQL-i sisestada otse (näiteks aruannete saamiseks), lisada SQL-i avaldised mõne muu keeles kirjutatud koodi või kasutada keelepõhist API-d, mis peidab SQL-i süntaksi. SQL-i kirjeldab ANSI/ISO SQL-i standard.

MySQLi tarkvara on avatud lähtekoodiga. Avatud lähtekood tähendab, et seda võib kasutada ja muuta igaüks. Kõik saavad MySQLi tarkvara veebist alla laadida ja seda tasuta kasutada. Kui soovite, võite vaadata lähtekoodi ja seda vastavalt oma vajadustele muuta.

MySQLi tarkvara kasutab GPL (GNU üldine avalik litsents), et määratleda, mida võite ja ei tohi teha tarkvaraga teatud olukordades. Kui tunnete GPL-i suhtes ebamugavust või soovite MySQLi koodi lisada ärirakendusse, saate meilt osta kaubandusliku litsentsiga versiooni.

Lisateabe saamiseks vaadake MySQLi litsentsimise ülevaadet. MySQLi andmebaasiserver on kiire, usaldusväärne, skaleeritav ja lihtne kasutada. Kui see on see, mida otsite, peaksite seda proovima. MySQL Server saab hõlpsasti töötada sülearvutil koos teiste rakenduste, veebiserverite jne kõrval, vajades vähe tähelepanu.

Kui pühendate kogu süsteemi MySQL-ile, saate seadeid muuta, et kasutada ära kogu mälu, CPU-võimsust ja I/O-võimekust. MySQL saab ka skaaluda masinate klasteriteni, mis on omavahel võrgustatud. MySQL Server arendati algselt suurte andmebaaside käitlemiseks oluliselt kiiremini kui olemasolevad lahendused ja seda on mitu aastat edukalt kasutatud väga nõudlikes tootmiskeskkondades. Kuigi see on pidevas arengus, pakub MySQL Server nüüd rikkalikku ja väärtuslikku funktsioonide kogumit.

Tema ühenduvus, kiirus ja turvalisus muudavad MySQL Serveri eriti sobivaks veebis andmebaasidele juurdepääsuks. MySQL Server töötab klient/server või manustatud režiimis. MySQLi andmebaasitarkvara on klient/server süsteem, mis sisaldab mitmekeelset SQL-serverit, mis toetab erinevaid tagalaid, mitmesuguseid klientrakendusi ja raamatukogusid, haldustööriistu ning mitmesuguseid rakendusprogrammeerimise liideseid (API-sid).

On väga tõenäoline, et teie lemmik tarkvara või keel toetab MySQLi andmebaasiserverit. "MySQLi" hääldus on "My Ess Que Ell" (mitte "my sequel"), kuid see on korras, kui hääldate seda kui "my sequel" või mõnel muul kohalikul viisil.

Siin on, kuidas saate andmeid MySQLi jaoks varundada:

Mysqldumpi käsku saab kasutada MySQLi andmebaasi sisu varundamiseks tekstifaili. Näiteks:

mysqldump -u <kasutajanimi> -p <parool> <andmebaasi_nimi> > /tee/varundus/db/redmine.sql

Leidke need <kasutajanimi>, <parool>, <hostinimi> ja <redmine_andmebaas> failist config/database.yml. <hostinimi> ei pruugi sõltuvalt andmebaasi paigaldusest olla vajalik.


PostgreSQL

PostgreSQL on ettevõtteklassi avatud lähtekoodiga haldussüsteem. See toetab nii SQL-i suhtelisteks kui ka JSON-i mittesuhtelisteks päringuteks. Seda toetab kogenud arendajate kogukond, kes on teinud suurepäraseid panuseid, et muuta see äärmiselt usaldusväärseks DBMS-süsteemiks. PostgreSQL toetab arenenud andmetüüpe ja jõudluse optimeerimist, pakkudes parimaid võimalusi kallite äriandmebaaside, nagu Oracle ja SQL Server, jaoks.

MySQL või PostgreSQL?

MySQLi väljakutse on teinud oma lähtekoodi kättesaadavaks GNU litsentsi ja teiste omavaheliste kokkulepete alusel. PostgreSQL on välja antud PostgreSQLi litsentsi alusel. Seda omab praegu Oracle Corporation ja see pakub mitmeid tasulisi versioone. See on tasuta ja avatud lähtekoodiga tarkvara. See tähendab, et te ei pea selle teenuse eest kunagi midagi maksma.

MySQL on parimal juhul ACID-i vastav, kui kasutatakse NDB ja InnoDB Cluster Storage mootoreid PostgreSQL on täielikult ACID-i vastav. MySQL toimib hästi OLAP- ja OLTP-struktuurides, kus on oluline ainult lugemiskiirus. PostgreSQLi jõudlus töötab rahuldavalt süsteemides, mis otsustavad keerukate päringute täitmise kasuks.

MySQL on usaldusväärne ja töötab hästi BI (ärianalüütika) rakendustega, mis on PostgreSQLiga võrreldes raskemini loetavad. PostgreSQL töötab hästi BI rakendustega. Siiski sobib see paremini andmete ladustamise ja andmeanalüüsi rakendustele, mis vajavad kiiret lugemis- ja kirjutamiskiirust.

Siin on, kuidas saate andmeid varundada PostgreSQLi jaoks:

  1. Sisestage kasutajana postgres:

    su - postgres

  2. Kasutage pg_dump käsku PostgreSQLi andmebaasi kõigi sisu varundamiseks tekstifaili:

    pg_dump -U <kasutajanimi> -Fc <andmebaasi_nimi> > /path/to/backup/db/redmine.sql

Leidke need <kasutajanimi> ja <redmine_database> failist config/database.yml. pg_dump käsk aitab teil juurdepääsu paroolile, kui see on vajalik.


SQLite

SQLite on tarkvararaamatukogu, mis pakub elektroonilist andmebaasi haldussüsteemi. SQLite lähenemises tähendab "lite" kergekaalulisust seadistuse, andmebaasi halduse ja vajalike ressursside osas. SQLite-l on järgmised märkimisväärsed omadused: iseseisev, serverivaba, nullkonfiguratsiooniline, tehinguline. Serverivaba Tavaliselt vajab RDBMS nagu MySQL, PostgreSQL jne eraldi serveriprotsessi töötamiseks.

Rakendused, mis vajavad andmebaasiserveriga ühenduse loomist, kasutavad TCP/IP-protokolli päringute saatmiseks ja vastuvõtmiseks. Seda nimetatakse kliendi/serveri arhitektuuriks. RDBMS-i kliendi/serveri arhitektuuris SQLite ei tööta. SQLite ei vaja töötamiseks serverit. SQLite andmebaas on integreeritud rakendusega, mis kasutab andmebaasi.

Programmid suhtlevad SQLite andmebaasiga otse andmebaasifailidest lugemiseks ja kirjutamiseks. Mis on SQLite iseseisev SQLite on iseseisev viis, mis vajab minimaalset abi operatsioonisüsteemilt või väliselt raamatukogult. See teeb SQLite kasulikuks igas olukorras, eriti integreeritud seadmetes nagu iPhones, Androidi telefonid, mängukonsoolid, käeshoitavad meediumipleierid jne. SQLite on välja töötatud ANSI-C abil.

Allikakood on saadaval suure sqlite3.C ja selle päise faili sqlite3.H kujul. Kui soovite luua rakendust, mis kasutab SQLite'i, peate need failid lihtsalt oma projekti lisama ja koos oma koodiga kokku panema. Nullkonfiguratsiooni tõttu serverivaba arhitektuuri tõttu ei pea te SQLite'i "installima" enne selle kasutamist. Sellel pole konfiguratsioonifaile. Kõik tehingud SQLite'is on täielikult ACID-vastavad.

Selle käitumine ja muudatused on aatomilised, järjepidevad, isoleeritud ja vastupidavad. Teisisõnu, kõik muudatused tehingus toimuvad täielikult või üldse mitte, isegi kui juhtub ootamatu olukord, nagu rakenduse kokkukukkumine, toitekatkestus või operatsioonisüsteemi kokkukukkumine. SQLite eriomadused SQLite kasutab dünaamilisi tüüpe tabelite jaoks. See tähendab, et saate igas veerus hoida mis tahes väärtust, olenemata andmetüübist. SQLite võimaldab ühel andmebaasiühendusel korraga juurde pääseda mitmele andmebaasifailile.

See toob kaasa mitmeid kasulikke funktsioone, nagu tabelite ühendamine erinevates andmebaasides või andmete kopeerimine andmebaaside vahel ühe käsu abil. SQLite suudab luua mälus olevaid andmebaase, millega saab väga kiiresti töötada. SQLite andmebaasid on kõik sisestatud faili, nii et saate neid varundada, kopeerides faili teise kohta. SQLite andmebaasi faili nime saate teada vaadates faili config/database.yml.


Manuste varundamine

Iga faili üleslaadimine salvestatakse manuste_säilituskohta (vaikimisi kausta files/). Saate selle kausta sisu kopeerida teise kohta kiireks varundamiseks.

HOIATUS: manuste_säilituskoht võib osutuda erinevaks kaustaks kui files/. Veenduge, et vaatate üle seadistuse failis config/configuration.yml, et vältida kasutut varundamist.


Näidisvarundamisskript

Siin võib olla lihtne kestaskript, mida saab kasutada igapäevaste varunduste jaoks (eeldusel, et kasutate MySQL andmebaasi):

# Andmebaas

/usr/bin/mysqldump -u <kasutajanimi> -p<parool> <redmine_andmebaas> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz

# Manused

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


Taasta andmebaas


MySQL

Näiteks, kui teil on gzipitud varundusfail nimega 2018-07-30.gz, saab andmebaasi taastada järgmise käsu abil:

gunzip < 2018-07-30.gz | mysql -u <kasutajanimi> -p <redmine_andmebaas>

Sisestage parool.


PostgreSQL

Kui käsu pg_dump valik -Fc on kasutatud nagu eelnevas näites, siis tuleb kasutada käsku pg_restore:

pg_restore -U <kasutajanimi> -d <redmine_andmebaas> redmine.sql

Tekstifaili saab taastada ka psql abil:

psql <redmine_andmebaas> < <sisendfail>


SQLite

Kopeerige andmebaasifail varunduse asukohast.

Ultimaatne Redmine'i värskendus? Lihtne.

Hankige kõik võimsad tööriistad täiuslikuks projekti planeerimiseks, juhtimiseks ja kontrollimiseks ühes tarkvaras.

Proovige Easy Redmine'i 30 päeva tasuta prooviperioodi jooksul

Täielikud funktsioonid, SSL-kaitse, igapäevased varukoopiad, teie geolokatsioonis