Kuinka varmuuskopioida Postgres-tietokanta Allakseen
Tässä oppaassa näytämme, kuinka varmuuskopioida PostgreSQL- tai MariaDB-tietokanta Rahtissa Allakseen. Yleinen idea on käyttää CronJobia
, joka luo tietokannasta dump-tiedoston ja lataa sen Allakseen.
Varoitus
Tämä on yksinkertainen esimerkki, varmuuskopioitu SQL-tiedosto ei ole pakattu, tarkistussummia ei ole vahvistettu, ei ole salausta, ... tämä näyttää vain perusidean siitä, miten varmuuskopio luodaan ja laitetaan objektitallennustilaan.
Löydät GitHub-repositorion osoitteen täältä. Voit vapaasti kloonata ja muokata sitä tarpeidesi mukaan.
Esivaatimukset
-
Postgres- tai MariaDB-tietokanta. Sinulla on oltava lukuoikeus siihen. Luodaksesi uuden tietokannan Rahtissa voit käyttää katalogista löytyvää Postgres- tai MariaDB-mallia. On myös mahdollista varmuuskopioida ulkoinen tietokanta, mutta kaikki ohjeet olettavat, että tietokanta toimii Rahtissa samassa nimeämisavaruudessa, jossa varmuuskopiot jaetaan.
-
Salaisuus, joka tulee ottaa
$DBHOST
-arvoksi (jokopostgresql
taimariadb
) seuraavien avaimien kanssa:database-user
,database-password
jadatabase-name
. Tämä salaisuus luodaan rclone-mallilla, mutta se on luotava manuaalisesti, jos Postgres tai Mariadb toimii Rahtin ulkopuolella. -
ACCESS_KEY
jaSECRET_KEY
Allakseen pääsyä varten. Niitä voi saada seuraavasti:
Mene sitten OpenRC lataussivulle, lataa OpenStack RC File v2.0, suorita se ja anna salasana, kun sitä kysytään:
$ source ~/Downloads/project_XXXXXXX-openrc.sh
Please enter your OpenStack Password for project project_XXXXXXX as user <USER>:
Lopuksi voit luoda tunnukset:
Tai jos sinulla on jo luotuna tunnukset, voit näyttää ne seuraavalla komennolla:
- Allas-säiliö/kontti. Voit luoda sen verkkokäyttöliittymästä tai käyttämällä
rclonea
.
Lisää CronJob
Ensiksi sinun täytyy kloonata repositorio mallin kanssa ja lisätä se Rahti-nimeämisavaruuteen, missä Postgres tai Mariadb toimii:
git clone https://github.com/cscfi/rclone-template.git -b psql
cd rclone-template
oc create -f rclone.yaml
Kun malli on lisätty nimeämistilaasi, vain sinun tarvitsee ottaa se käyttöön:
$ oc process rclone \
ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
BUCKET_DIR=existing_bucket/existing/path \
DBHOST=postgresql \ # tai mariadb
SCHEDULE="0 4 * * *" | oc create -f -
Tämä suorittaa varmuuskopiointiprosessin joka päivä kello 4:00. Aikataulua voi muuttaa, katso viitteeksi https://en.wikipedia.org/wiki/Cron. Varmuuskopiot eivät kirjoita päälleen, koska ne ottavat varmuuskopion aloitusajan ja päivämäärän.
Lisää tietoa varmuuskopion ja palautuskomentojen suorittamisesta:
-
PostgreSQL: Varmuuskopioi tietokanta ja Palauta tietokanta
-
MariaDB: Varmuuskopioi tietokanta ja Palauta tietokanta