Palautus varmuuskopiosta varjoon

Joskus voi olla helpompi palauttaa sivusto toimintaan varmuuskopiosta varjoympäristöön esimerkiksi ongelmanselvittelyä tai vanhojen tietojen tarkastelua varten. Tämä ohje kertoo, miten Seravon ympäristössä voi palauttaa varmuuskopion varjoympäristöön. 

Palautus tehdään komentorivillä (ks. ohje SSH-yhteyden ottamista varten).

Huomioithan, ettei varjoympäristöjä varmuuskopioida automaattisesti. Varjosta voi kuitenkin tehdä varmuuskopion komennolla wp-backup.

Tiedostojen hakeminen varmuuskopiosta tuotantoympäristössä

Ensin tulee ottaa SSH-yhteys tuotantoympäristöön, ja noutaa hakemisto wp-content sekä sivuston tietokanta varmuuskopioista. Listan saatavilla olevista varmuuskopioista saat komennolla wp-backup-status. Komento tulostaa numeroidun listan kaikista saatavilla olevista varmuuskopioista. Itse palautus tehdään komennolla wp-backup-restore, jolle annetaan parametriksi halutun varmuuskopion id-numero (listan vasemmassa reunassa oleva numero), tässä esimerkissä 1:

wp-backup-restore 1

Komento palauttaa varmuuskopioidut tiedostot sivuston /tmp -hakemistoon kansioon, jonka nimi on tässä tapauksessa "backup-restore-1". Palautuksen sisältämistä hakemistoista olennaisia ovat db ja wordpress. Seuraavaksi siirretään tietokantatiedosto sekä wp-content -hakemisto /tmp-hakemiston juureen sekä pakataan ne varjoympäristöön siirtämistä varten. 

1. Tietokantatiedosto löytyy polusta /tmp/backup-restore-1/db/. Kansiossa on todennäköisesti kaksi tiedostoa, joista toisen pääte on .sql ja toisen .sql.orig. Näistä oikea tiedosto on .sql -päätteinen. Siirretään tiedosto /tmp-hakemiston juureen: 

mv /tmp/backup-restore-1/db/esimerkki_a1b2c3.sql /tmp

2. Itse sivuston tiedostot puolestaan sijaitsevat wp-content -hakemistossa, joka löytyy polusta /tmp/backup-restore-1/wordpress/htdocs/. Siirretään myös tuo hakemisto /tmp-hakemiston juureen: 

mv /tmp/backup-restore-1/wordpress/htdocs/wp-content /tmp

3. Siirrytään oikeaan hakemistoon ja pakataan molemmat tiedostot varjoon vientiä varten (tässä pakatun kansion nimi on palautusvarjoon.tar.gz): 

cd /tmp
tar -czvf palautusvarjoon.tar.gz wp-content esimerkki_a1b2c3.sql

Tämän jälkeen siirrytään varjoympäristöön. 

Kopion vieminen varjoympäristöön

Seuraavaksi otetaan SSH-yhteys varjoympäristöön. Kun ollaan varjossa, tiedostojen noutaminen tuotantoympäristöstä tapahtuu rsync-komennolla. Portin numeron (12345) tilalle tulee kirjoittaa tuotantoympäristön SSH-portti, ja käyttäjän kohdalle oman sivustosi SSH-käyttäjä, sekä sen perään oikea host-osoite. Alla olevassa komennossa olevat porttinumero, käyttäjä ja host-osoite ovat vain esimerkkejä. Oman sivustosi SSH/SFTP-kirjautumistiedot löydät Seravon tilauksen toimituksen yhteydessä lähettämästä sähköpostiviestistä. Tarvittaessa saat tunnukset myös asiakaspalvelustamme

1. Haetaan pakatut tiedostot tuotantoympäristöstä:

rsync -avz -e 'ssh -p 12345' käyttäjä@esimerkki.fi-r.seravo.com:/tmp/palautusvarjoon.tar.gz /tmp

Komento antaa tässä kohtaa varoituksen: "the authenticity of host can't be established" ja kysyy, haluatko varmasti jatkaa. Voit kirjoittaa "yes" ja painaa enteriä, minkä jälkeen komento kysyy salasanaa. Myös tämä salasana löytyy aiemmin mainitusta sähköpostiviestistä. 

2. Siirrytään varjon /tmp-hakemistoon ja puretaan siirretty paketti: 

cd /tmp && tar -zxvf palautusvarjoon.tar.gz

3. Poistetaan varjon olemassaoleva wp-content -hakemisto, siirretään varmuuskopiosta tuotu wp-content tilalle sekä ladataan varmuuskopiosta tuotu tietokanta varjoon. Lopuksi tyhjennetään vielä palvelimen välimuistit. 

rm -rf /data/wordpress/htdocs/wp-content
mv wp-content /data/wordpress/htdocs/
wp db import esimerkki_a1b2c3.sql --skip-optimization
wp-purge-cache

Nämä komennot voidaan myös yhdistää yhdeksi komennoksi seuraavasti: 

rm -rf /data/wordpress/htdocs/wp-content && mv wp-content /data/wordpress/htdocs/ && wp db import esimerkki_a1b2c3.sql --skip-optimization && wp-purge-cache

Nyt varjoympäristössä pitäisi olla palautettuna haluttu varmuuskopio sivustosta. 

Vastasiko tämä kysymykseesi? Kiitos palautteesta. Palautteen lähettämisessä oli ongelma. Yritä uudelleen myöhemmin.