WordPressin varmuuskopiointi ja palauttaminen

Kyllästyin päivittämään sivujani perinteisesti vimillä terminaalista näpertäen ja päätin virittää blogimoottorina toimivan WordPressin hoitamaan myös muutamat muut sivut. Ajattelin tietenkin, että tämä onnistuisi helposti ja nopeasti, mutta käytännössä asia ei näin todellakaan ollut. Samalla oli hyvä tilaisuus raapaista WordPress puhtaalle pöydälle ja siivota tietokanta sinne kerääntyneistä lisäosista.

Tietenkin alkuun otin tuoreet varmuuskopiot blogin sisällöstä ihan perinteisesti mysqldumpilla (mysqldump --opt -u <username> -p <database> \
| bzip2 -c > mydatabasedump.sql.bz2
), joka myöhemmin osoittautui hyväksi ratkaisuksi. Vaikka WordPress tarjoaa mahdollisuuden ottaa blogin sisällöstä XML-muotoisen tulosteen ja palauttamaan sen, jää tietosisältö osiltaan vajavaiseksi. Aikaansaatu XML sisältää merkinnät, sivut, kommentit, tagit ja kategoriat, mutta jättää esimerkiksi linkit tallettamatta. Linkki-taulun (wp_links) palauttamiseen liittyen palautin myös tagit, kategoriat (wp_terms) sekä niiden luokittelun (wp_term_taxonomy ja (wp_term_relationships), jolla sain linkkeihin luokat kuntoon.

Kannattaa lisäksi huomioida, että WordPressin tarjoama sisällön vieminen XML-tiedostoon ei sisällä lisäosien tietokantaan tallettamia tietoja ja asetuksia. Palautin siis myös Now Reading -lisäosan erikseen ja samalla kertaa muokkasin blogikirjoitusten SQL:stä niihin sisällytettyä CSS-luokkia ja polkumäärityksiä, ja näin tuli kirjoitustenkin palauttaminen testattua sekä SQL-tiedostosta että WordPressin tarjoaman XML-tiedoston tuonnin kautta. Kannan palautuksen SQL-tiedostoista tein phpMyAdminissa, vaikka helpommin se olisi varmaan onnistunut konsolissa.

Tietojen palauttamisen jälkeen piti vielä kopioida käytetyt lisäosat ja muistinvaraisesti käsin naputella niihin suurin piirtein oikeat asetukset. Loppujen lopuksi sain kaiken suurin piirtein kasaan, vaikka vielä jäi hieman säätämistä sekä ulkoasullisesti että WordPressin sivuluokituksen ja kustomoitujen elementtien näyttämisessä eri sivuilla. WordPressin is_page(), is_home() ja is_front_page() -template tagit eivät oikein tunnu toimivan loogisesti sivupalkissa (sidebar) käytettynä. Ehdollisten tagien toimivuuteen auttoi, kun ennen sivupalkin kutsumista lisäsi <?php wp_reset_query(); ?> -funktiokutsun.

Yksi ajatus artikkelista “WordPressin varmuuskopiointi ja palauttaminen”

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *