How to backup and restore PostgreSQL databases with crontab

OS: Centos7
Database server: PostgreSQL 9

Install database server, membuat user dan databasenya
https://nciptandani.blogspot.com/2019/01/rangkuman-install-database-postgresql.html

Berikut adalah script untuk melakukan backup

pg_dump -U db_user -h ip_address -F t db_name > /path/to/your/file/dump_name.tar

-U = untuk user apa yang akan konek ke database
-F = untuk format file
p – plain-text SQL script
c – custom-format archive
d – directory-format archive
t – tar-format archive

Sekedar contoh database dibackup misalnya setiap menit:

pg_dump -U dev10 -h 10.148.0.6 -F -t  dev10db > /backup/dev10db.$(date +%Y-%b-%d-%H-%).tar

Hasil nama file backup

dev10db.2019-Sep-03-15-10-03.sql (file pada tanggal 3 september 2019 pada jam 15 menit 10 dan detik ke 3

Simpan password postgresql server di file

vi ~/.pgpass
*:5432:*:username:password
chmod 0600 ~/.pgpass

Kemudian akan membuat crontab nya


masuk ke crontab file

vi /etc/crontab

kemudian tambahkan berikut

* * * * * root /bin/pg_dump -U dev10 -h 10.148.0.6 -W -F -t  dev10db > /backup/dev10db.$(date +%Y-%b-%d-%H-%).tar

Simpan file dan restart crond

systemctl restart crond

Liat crontab dengan crontab -l

Cek hasil file backup di /backup/



Komentar

Postingan populer dari blog ini

Pembahasan IT Network Systems Administration Module A DNS (Forward Zone, Reverse Zone, CNAME, MX, Split View)

Cara restart / stop windows service (services.msc) dengan bat / cmd

How to convert VMDK to OVA