Kako napraviti automatski backup postgres baze podataka na windowsu

3.3 min read663 wordsPublished On: 5. lipnja 2024.Tags: , , , , , ,

U ovom članku donosim vam upute kako kreirati automatski backup baze podataka na windows sustavu. U ovom članku radimo backup postgres baze, ali na jako sličan način možete postići isti rezultat i s drugim bazama. Osobno jako često koristim ovu funkcionalnost, na primjer za backup produkcijske baze i kasniji restore, na primjer na testno okruženje i slične stvari. Na svom računalu kreirao sam batch skriptu i dodao ju u Task Scheduler koji ju vrti svako jutro.

Ako nemate potrebu za redovitim backupom, ovu kriptu možete jednostavno pokrenuti kao i bilo koju drugu aplikaciju na vašem računalu. Više o tome u nastavku.

Kreiranje batch skripte za backup

Napravite batch (.bat) datoteku koja će izvršavati pg_dump naredbu za backup baze podataka.

Prije kreiranja skripte provjerite je li pg_dump dostupan i instaliran u vašem PowerShellu. Upalite PowerShell, upišite pg_dump --version i pritisnite Enter.

Instalaciju Postgresa možete pronaći ovdje: Windows installers

Nakon što ste se uvjerili da pg_dump radi:

  1. Otvorite Notepad.
  2. Upišite sljedeću skriptu (zamijenite odgovarajućim vrijednostima):
Kopiraj

Detaljno Objašnjenje

  • @echo off: Onemogućuje prikazivanje naredbi u prozoru naredbenog retka.
  • set PGPASSWORD=vaša_lozinka: Postavlja lozinku za pristup PostgreSQL bazi podataka.
  • pg_dump: Alat za izradu sigurnosnih kopija PostgreSQL baza podataka.
    • -h vaš_host: Definira hostname servera baze podataka.
    • -p 5432: Definira port na kojem PostgreSQL sluša (default port je 5432).
    • -U vaš_korisnički_račun: Korisnički račun za pristup bazi podataka.
    • -d vaša_baza_podataka: Ime baze podataka koju želite backupirati.
    • -F c: Postavlja format dump-a na “custom”.
    • -b: Uključuje velike objekte u backup.
    • -v: Omogućuje verbose mod za više informacija tijekom izvođenja.
    • -f "C:\Put\Do\Backup\vaša_baza_podataka_%date:~10,4%-%date:~4,2%-%date:~7,2%.dump": Definira put i ime datoteke za backup, uključujući formatirani datum.

Objašnjenje Formatiranja Datuma u Batch Skripti

U batch skriptama na Windowsu, %date% varijabla vraća trenutni datum u formatu definiranom postavkama operativnog sustava. Da biste izdvojili određene dijelove datuma, koristimo sintaksu podstringa: %date:~start_position,length%.

Razbijanje %date% Varijable

Pretpostavimo da je trenutni datum 05/06/2024 (format MM/DD/YYYY):

  • %date:~10,4% uzima 4 znaka počevši od 10. pozicije, što bi rezultiralo 2024.
  • %date:~4,2% uzima 2 znaka počevši od 4. pozicije, što bi rezultiralo 06.
  • %date:~7,2% uzima 2 znaka počevši od 7. pozicije, što bi rezultiralo 05.

Konačni Rezultat

Kad se svi dijelovi spoje, rezultat će biti npr. 2024-06-05.

Primjer:

Kopiraj

Spremite datoteku s ekstenzijom .bat:

  • Kliknite na “File” u gornjem lijevom kutu Notepad-a i odaberite “Save As”.
  • Nazovite datoteku, na primjer, backup_database.bat i spremite je na željenu lokaciju.

Automatizacija Pomoću Windows Task Scheduler-a

Kako biste automatizirali backup proces pomoću Windows Task Scheduler-a, slijedite ove korake:

  1. Otvorite “Task Scheduler” iz Start menija:
    • Kliknite na Start i upišite “Task Scheduler”, zatim otvorite aplikaciju.
  2. Kreiranje zadatka:
    • Kliknite na “Create Basic Task” s desne strane.
    • Unesite ime i opis zadatka (npr. “Database Backup”).
    • Odaberite kada želite da se zadatak pokreće (npr. dnevno).
    • Odaberite vrijeme i učestalost pokretanja zadatka.
    • Odaberite “Start a Program” kao radnju.
    • Pregledajte i odaberite batch skriptu koju ste kreirali (backup_database.bat).
    • Kliknite “Finish” da završite kreiranje zadatka.

Ručno Pokretanje Batch Datoteke

Ako ne želite koristiti automatsko pokretanje putem Task Scheduler-a, možete ručno pokrenuti batch datoteku. Evo kako to učiniti:

  1. Pronađite batch datoteku:
    • Otvorite File Explorer i navigirajte do lokacije gdje ste spremili backup_database.bat.
  2. Pokrenite batch datoteku:
    • Dvaput kliknite na backup_database.bat datoteku.
    • Batch skripta će se izvršiti i kreirati backup baze podataka na specificiranoj lokaciji.

Zaključak

Automatizacija backup procesa baza podataka može vam uštedjeti mnogo vremena i osigurati da su vaši podaci uvijek sigurni. Slijedeći gore navedene korake, možete jednostavno kreirati i automatizirati backup procese na vašem Windows sustavu. Ako želite ručno pokretati backup, dovoljno je dvaput kliknuti na kreiranu batch datoteku.

Podijelite na društvenim mrežama