Kuinka varmuuskopioida tai palauttaa olemassa olevat Redmine-tietosi

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

Jokaisen projektinhallintaratkaisun menestys perustuu yhteen yksinkertaiseen asiaan - tietoihin. Tiedätkö jo, miten varmuuskopioida tai palauttaa olemassa olevat tietosi Redminesta? Jos et tiedä, tässä on miten voit tehdä sen jokaiselle tietokannalle.

Redmine-varmuuskopiot on sisällettävä:

  • Tietokanta
  • Liitteet (sijoitettu asennuskansion alapuolella olevaan tiedostohakemistoon oletuksena)


Tietokannan varmuuskopiointi


MySQL

MySQL, suosituin avoimen lähdekoodin SQL-tietokantajärjestelmä, on ainutlaatuinen, hajautettu ja Oracle Corporationin tukema. MySQL-verkkosivusto tarjoaa uusimmat tiedot MySQL-ohjelmistosta. MySQL on hallintatyökalu.

Tietokanta on järjestetty sarja tilastoja. Se voi olla jotain yksinkertaisesta ostoslistasta kuvagalleriaan tai suuriin tietomääriin yritysverkostossa. Tietokoneella tallennettujen tietojen lisäämiseksi, käyttämiseksi ja käsittelyksi tarvitset tietokannan hallintatyökalun yhdessä MySQL-palvelimen kanssa. Koska tietokoneet ovat erinomaisia suurten tietomäärien käsittelyssä, hallintajärjestelmät ovat keskeisessä asemassa tietojenkäsittelyssä, joko itsenäisinä apuohjelmina tai osana muita sovelluksia. MySQL-tietokannat ovat relaatiotietokantoja.

Sähköinen tietokanta tallentaa tilastot erillisiin tauluihin sen sijaan, että kaikki tilastot sijoitettaisiin yhteen suureen varastoon. Tietokannan rakenteet on järjestetty nopeuden optimoimiseksi fyysisiin tiedostoihin. Looginen malli, jossa on tietokantoja, tauluja, näkymiä, rivejä ja sarakkeita, tarjoaa joustavan ohjelmointiympäristön. Määrität säännöt, jotka koskevat eri tietokenttien välisiä suhteita, kuten yhdestä yhteen, yhdestä moneen, ainutlaatuinen, pakollinen tai valinnainen sekä "viittaukset" eri taulujen välillä.

Tietokanta tukee näitä sääntöjä, ja hyvin suunnitellulla tietokannalla sovelluksesi ei koskaan sisällä ristiriitaisia, kaksoiskappaleita, orpoja, vanhentuneita tai puuttuvia tilastoja. "MySQLin" SQL-komponentti tarkoittaa "Structured Query Language". SQL on yleisin standardoitu kieli, jota käytetään tietokantojen käyttämiseen. Ohjelmointiympäristöstäsi riippuen voit syöttää SQL-komentoja suoraan (esimerkiksi raporttien saamiseksi), upottaa SQL-lauseita muilla kielillä kirjoitettuun koodiin tai käyttää kielikohtaista API:a, joka piilottaa SQL-syntaksin. SQL on määritelty ANSI/ISO SQL -standardin avulla.

MySQL-ohjelmisto on avoimen lähdekoodin ohjelmisto. Avoimen lähdekoodin tarkoittaa, että kuka tahansa voi käyttää ja muokata ohjelmistoa. Kuka tahansa voi ladata MySQL-ohjelmiston verkosta ja käyttää sitä maksamatta mitään. Jos haluat, voit tutustua lähdekoodiin ja muokata sitä tarpeidesi mukaan.

MySQL-ohjelmisto käyttää GPL (GNU General Public License) -lisenssiä, joka määrittelee, mitä voit ja et voi tehdä ohjelmistolla tietyissä tilanteissa. Jos et pidä GPL:stä tai haluat upottaa MySQL-koodin kaupalliseen sovellukseen, voit ostaa kaupallisen lisensoidun version meiltä.

Lisätietoja saat MySQL-lisensioinnin yleiskatsauksesta. MySQL-tietokantapalvelin voi olla erittäin nopea, luotettava, skaalautuva ja helppokäyttöinen. Jos etsit tätä, kannattaa kokeilla sitä. MySQL-palvelin voi toimia helposti tietokoneella yhdessä muiden sovellusten, verkkopalvelimien jne. kanssa, vaatien hyvin vähän huomiota.

Jos omistat koko järjestelmän MySQL:lle, voit muuttaa asetuksia hyödyntääksesi kaikkea käytettävissä olevaa muistia, CPU-tehoa ja I/O-kapasiteettia. MySQL voi myös skaalautua klustereiksi, jotka on kytketty toisiinsa verkon kautta. MySQL-palvelin kehitettiin alun perin käsittelemään suuria tietokantoja paljon nopeammin kuin olemassa olevat ratkaisut ja sitä on käytetty menestyksekkäästi vaativissa tuotantoympäristöissä useiden vuosien ajan. Vaikka sitä kehitetään jatkuvasti, MySQL-palvelin tarjoaa nyt runsaan ja arvokkaan kokoelman ominaisuuksia.

Sen yhteys, nopeus ja tietoturva tekevät MySQL-palvelimesta erittäin sopivan tietokantojen käyttämiseen verkossa. MySQL-palvelin toimii asiakas/palvelin- tai upotettuina toimintoina. MySQL-tietokantaohjelmisto on asiakas/palvelin-järjestelmä, jossa on monisäikeinen SQL-palvelin, joka tukee erilaisia taustajärjestelmiä, useita erilaisia asiakassovelluksia ja kirjastoja, hallintatyökaluja sekä monenlaisia sovellusohjelmointirajapintoja (API:ta).

On hyvin todennäköistä, että suosikkiohjelmistosi tai -kielisi tukee MySQL-tietokantapalvelinta. "MySQLin" ääntäminen on "My Ess Que Ell" (ei "my sequel"), mutta se on ok, jos ääntät sen "my sequel" tai jollain muulla paikallisella tavalla.

Tässä on, miten voit varmuuskopioida tiedot MySQLille:

mysqldump-komentoa voidaan käyttää MySQL-tietokannan sisällön varmuuskopioimiseen tekstitiedostoon. Esimerkiksi:

mysqldump -u <käyttäjänimi> -p <salasana> <tietokannan_nimi> > /polku/varmuuskopio/db/redmine.sql

Etsi nämä <käyttäjänimi>, <salasana>, <isäntänimi> ja <redmine_tietokanta> tiedostosta config/database.yml. <isäntänimi> ei ehkä ole tarpeen riippuen tietokannan asennuksesta.


PostgreSQL

PostgreSQL on yritysluokan avoimen lähdekoodin hallintajärjestelmä. Se tukee sekä SQL:ää relaatiotietokantakyselyihin että JSONia ei-relaatiotietokantakyselyihin. Sitä tukee kokenut kehittäjäyhteisö, joka on tehnyt merkittäviä panostuksia sen muokkaamiseksi erittäin luotettavaksi tietokantajärjestelmäksi. PostgreSQL tukee edistyneitä tietotyyppejä ja suorituskyvyn optimointia, mikä tekee siitä parhaat ominaisuudet kalliissa kaupallisissa tietokannoissa, kuten Oracle ja SQL Server.

MySQL vai PostgreSQL?

MySQL-haaste on tehnyt lähdekoodinsa saataville GNU-lisenssin ja muiden omistusoikeussopimusten ehtojen mukaisesti. PostgreSQL julkaistaan PostgreSQL-lisenssillä. Sitä omistaa nykyään Oracle Corporation ja siitä on saatavana useita maksullisia versioita. Se on ilmainen ja avoimen lähdekoodin ohjelmisto. Tämä tarkoittaa, että sinun ei koskaan tarvitse maksaa mitään tästä palvelusta.

MySQL on ACID-yhteensopiva parhaimmillaan, kun käytetään NDB- ja InnoDB-klusterivarastomoottoreita. PostgreSQL on täysin ACID-yhteensopiva. MySQL toimii hyvin OLAP- ja OLTP-järjestelmissä, joissa vain lukunopeus on tärkeä. PostgreSQLin suorituskyky toimii tyydyttävästi järjestelmissä, jotka valitsevat monimutkaisten kyselyjen suorittamisen.

MySQL on luotettava ja toimii hyvin BI (Business Intelligence) -sovellusten kanssa, jotka ovat vaikeita lukea PostgreSQL toimii hyvin BI-sovellusten kanssa. Se on kuitenkin sopivampi tietovarastointiin ja tietojen analysointisovelluksiin, jotka tarvitsevat nopeita luku-kirjoitusnopeuksia.

Tässä on miten voit varmuuskopioida tietoja PostgreSQLista:

  1. Kirjaudu sisään postgres-käyttäjänä:

    su - postgres

  2. Käytä pg_dump-komentoa varmuuskopioidaksesi kaikki PostgreSQL-tietokannan sisällöt tekstitiedostoon:

    pg_dump -U <käyttäjänimi> -Fc <tietokannan_nimi> > /polku/varmuuskopioon/db/redmine.sql

Etsi nämä <käyttäjänimi> ja <redmine_tietokanta> tiedostosta config/database.yml. pg_dump-komento auttaa sinua saamaan salasanan tarvittaessa.


SQLite

SQLite on ohjelmistokirjasto, joka tarjoaa elektronisen tietokannan hallintajärjestelmän. Lite SQLite:ssä tarkoittaa kevyttä asennusta, tietokannan hallintaa ja tarvittavia resursseja. SQLite:lla on seuraavat huomattavat ominaisuudet: itsenäinen, palvelinotonen, nollakonfiguraatio, transaktionaalinen. Palvelinotonen Normaalisti RDBMS kuten MySQL, PostgreSQL jne. vaatii erillisen palvelinprosessin toimiakseen.

Sovellukset, jotka tarvitsevat pääsyn tietokantapalvelimeen, käyttävät TCP/IP-protokollaa lähettääkseen ja vastaanottaakseen pyyntöjä. Tätä kutsutaan asiakas/palvelin-arkkitehtuuriksi. RDBMS-asiakas/palvelin-arkkitehtuuriin SQLite ei toimi tällä tavalla. SQLite ei tarvitse palvelinta toimiakseen. SQLite-tietokanta on integroitu sovellukseen, joka käyttää tietokantaa.

Sovellukset vuorovaikuttavat SQLite-tietokannan kanssa lukemalla ja kirjoittamalla suoraan tietokantatiedostoista, jotka on tallennettu levylle. Mikä on SQLite itsenäinen SQLite on itsenäinen tapa, joka vaatii vähän apua käyttöjärjestelmältä tai ulkopuoliselta kirjastolta. Tämä tekee SQLite:sta hyödyllisen missä tahansa tilanteessa, erityisesti upotetuissa laitteissa, kuten iPhoneissa, Android-puhelimissa, pelikonsolissa, käsikäyttöisissä mediasoittimissa jne. SQLite on kehitetty käyttämällä ANSI-C:tä.

Lähdekoodi on saatavana suurena sqlite3.C-tiedostona ja sen otsikkotiedostona sqlite3.H. Jos haluat kehittää sovelluksen, joka käyttää SQLitea, sinun tarvitsee vain pudottaa nämä tiedostot projektiisi ja koota se yhdessä koodisi kanssa. Nollakonfiguraation ansiosta palvelinotonen arkkitehtuuri, sinun ei tarvitse "asentaa" SQLitea ennen sen käyttöä. Ei ole mitään palvelinprosessia, joka pitäisi määrittää, käynnistää ja pysäyttää. SQLite ei käytä mitään määritystiedostoja. Kaikki transaktiot SQLite:ssä ovat täysin ACID-yhteensopivia.

Sen toiminnot ja muutokset ovat Atomic, Consistent, Isolated ja Durable. Toisin sanoen kaikki muutokset tapahtuvat transaktion sisällä joko kokonaan tai ei ollenkaan, vaikka odottamaton tilanne, kuten sovelluksen kaatuminen, virtakatko tai käyttöjärjestelmän kaatuminen, tapahtuisi. SQLitella on ainutlaatuisia ominaisuuksia. SQLite käyttää dynaamisia tyyppejä taulukoille. Se tarkoittaa, että voit tallentaa minkä tahansa arvon mihin tahansa sarakkeeseen riippumatta tietotyypistä. SQLite sallii yhden tietokantayhteyden käyttää useita tietokantatiedostoja samanaikaisesti.

Tämä tuo mukanaan monia hyviä ominaisuuksia, kuten liittää tauluja eri tietokannoissa tai kopioida tietoja tietokantojen välillä yhdellä komennolla. SQLite pystyy luomaan nopeasti toimivia muistissa olevia tietokantoja. SQLite-tietokannat ovat kaikki yhdessä tiedostossa, joten voit varmuuskopioida ne kopioimalla tiedoston toiseen sijaintiin. Voit selvittää SQLite-tietokannan tiedostonimen katsomalla config/database.yml-tiedostoa.


Liitteiden varmuuskopiointi

Jokainen tiedoston lataus tallennetaan liitteiden_säilytyspolkuun (oletuksena tiedostot/-hakemistoon). Voit kopioida tämän hakemiston sisällön toiseen sijaintiin nopeaa varmuuskopiointia varten.

VAROITUS: liitteiden_säilytyspolku voi osoittaa eri hakemistoon kuin tiedostot/. Varmista, että tarkistat asetuksen config/configuration.yml-tiedostosta, jotta vältät turhan varmuuskopion tekemisen.


Näyte varmuuskopiointiskriptistä

Tässä voi olla helppo shell-skripti, jota voidaan käyttää päivittäisiin varmuuskopioihin (olettaen, että käytät MySQL-tietokantaa):

# Tietokanta

/usr/bin/mysqldump -u <käyttäjänimi> -p<salasana> <redmine_tietokanta> | gzip > /polku/varmuuskopioon/db/redmine_`date +%Y-%m-%d`.gz

# Liitteet

rsync -a /polku/redmine/tiedostot /polku/varmuuskopioon/tiedostot


Palauta tietokanta


MySQL

Esimerkiksi, jos sinulla on gzipattu dumppitiedosto nimeltä 2018-07-30.gz, voit palauttaa tietokannan seuraavalla komennolla:

gunzip < 2018-07-30.gz | mysql -u <käyttäjänimi> -p <redmine_tietokanta>

Syötä salasana.


PostgreSQL

Kun komennon pg_dump vaihtoehto -Fc on käytetty kuten yllä olevassa esimerkissä, sinun tulee käyttää komentoa pg_restore:

pg_restore -U <käyttäjänimi> -d <redmine_tietokanta> redmine.sql

Tekstitiedosto voidaan palauttaa myös psql:llä:

psql <redmine_tietokanta> < <tiedostosta>


SQLite

Kopioi tietokantatiedosto varmuuskopion sijainnista.

Redmine-päivitys, joka vie sinut uudelle tasolle? Helppoa.

Saat kaikki tehokkaat työkalut täydelliseen projektisuunnitteluun, hallintaan ja valvontaan yhdessä ohjelmistossa.

Kokeile Easy Redmine -ohjelmaa 30 päivän ilmaisella kokeilujaksolla

Täydet ominaisuudet, SSL-suojattu, päivittäiset varmuuskopiot, sijaintisi mukaan