Kako napraviti automatski backup postgres baze podataka na windowsu
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:
- Otvorite Notepad.
- Upišite sljedeću skriptu (zamijenite odgovarajućim vrijednostima):
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 rezultiralo2024.%date:~4,2%uzima 2 znaka počevši od 4. pozicije, što bi rezultiralo06.%date:~7,2%uzima 2 znaka počevši od 7. pozicije, što bi rezultiralo05.
Konačni Rezultat
Kad se svi dijelovi spoje, rezultat će biti npr. 2024-06-05.
Primjer:
Spremite datoteku s ekstenzijom .bat:
- Kliknite na “File” u gornjem lijevom kutu Notepad-a i odaberite “Save As”.
- Nazovite datoteku, na primjer,
backup_database.bati 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:
- Otvorite “Task Scheduler” iz Start menija:
- Kliknite na Start i upišite “Task Scheduler”, zatim otvorite aplikaciju.
- 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:
- Pronađite batch datoteku:
- Otvorite File Explorer i navigirajte do lokacije gdje ste spremili
backup_database.bat.
- Otvorite File Explorer i navigirajte do lokacije gdje ste spremili
- Pokrenite batch datoteku:
- Dvaput kliknite na
backup_database.batdatoteku. - Batch skripta će se izvršiti i kreirati backup baze podataka na specificiranoj lokaciji.
- Dvaput kliknite na
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.


