Automatická záloha PostgreSQL databáze

Zálohujete data? Pokud ano, tleskám. Pokud ne, rychle začněte. U databáze PostgreSQL je to jednoduché!

Nejdříve si vytvoříme krátký shellový script dump.sh.

vim dump.sh

Do souboru vložíme:

#!/bin/sh

NOW=$(date +"%Y-%m-%d")
pg_dump dbname -U username -h hostname -p port | gzip > /path/to/backupname-$NOW.gzip

dbname je jméno databáze
username je jméno uživatele
hostname je adresa serveru, na kterém běží postgresql
port je port, na kterém je dostupný postgres
/path/to/backupname je cesta kam se uloží záloha. Zálohy budou pojmenovávány backupname-datum.backup.

Do příkazu pg_dump je možné přidat mnohem více parametrů, jako například zálohovat jen konkrétní tabulky. Všechny jsou popsány v dokumentaci na stránce https://www.postgresql.org/docs/9.6/app-pgdump.html.

Jakmile máme script vytvořený, nastavíme mu oprávnění

chmod 755 dump.sh

A můžeme vyzkoušet, zda funguje

./dump.sh


Heslo do PostgreSQL

Pokud příkaz pg_dump zkusíte spustit ručně, budete požádáni o zadání hesla. Při automatickém zálohování ale není možné heslo zadávat. Je tedy potřeba vytvořit v domovském adresáři uživatele, pod kterým bude zálohování spouštěno, soubor .pgpass.

Do souboru .pgpass zadáme řádku obsahující:
hostname:port:dbname:username:password Například tedy
localhost:5432:moje_databaze:admin:password1234 Soubor musí mít oprávnění 0600 (-rw-------) jinak nebude použit.
Nastavení oprávnění se provádí příkazem

chmod 0600 .pgpass

Další informace o souboru .pgpass naleznete přímo v dokumentaci Postgresu.
https://www.postgresql.org/docs/9.6/libpq-pgpass.html

Automatizace zálohování

Jednoduché. Zadáme script do cronu a je to.

crontab -e

Otevře se editor a doplníme řádku
0 1 * * * /path/to/dump.sh Tato řádka zajistí, že každý den v 1:00 v noci bude spuštěno zálohování.

A je to!


P.S.: Kdyby to někoho zajímalo, tak FlexiBee dělá zálohy příkazem

pg_dump --username=username --host=hostname --port=port --file=/path/to/backupname -b --format=c dbname

PostgreSQL, Zálohování

- (23. 7. 2019)

Líbil se vám článek?

Nasdílejte ho svým přátelům na sociálních sítích.

Pinterest

Názory, připomínky a jiné komentáře

Zatím nikdo nic nenapsal. Buďte první :-).

Vložit nový komentář

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.3 - Login