Pg_backrest

Pg_backrest,PostgreSQL  yedekleme araçlardan birisi olan pg_backrest  ,crunchydata ve resonate firmalarının destekleriyle geliştirilmiş open source yedekleme çözümlerinden birisidir.

Pg_backrest ile aşağıdaki özellikler kullanılabilmektedir.

  • Paralel yedekleme ve geri yükleme,
  •  Local ve remote backup almak,
  •  Full,inceremental, differential backup almak,
  • Page checksum
  • Backup durdurulup tekrardan başlatıldığında aynı yerden devam etmesi ,
  •  Encryption backup ,
  • Azure ,s3  vb ortamlara yedekleme
  • Replica üzerinden yedekleme   

Pgbackrest perl ile yazıldığından dolayı ilk olarak perl paketini aşağıdaki şekilde yüklüyoruz.

yum install perl -y

Perl paketini yükledikten sonra aşağıdaki şekilde pgbackresti yükleyebiliriz.

 yum install pgbackrest -y

Paket yüklendikten sonra önceki yazılarımda da bahsettiğim gibi archive mode ve archive_command parametrelerini değiştirmemiz gerekiyor.

archive_mode=one
archive_command=' pgbackrest --stanza=main archive-push %p'

 

Archive command  parametresinde belirtilen pgbackrest komutu ile vi /etc/pgbackrest.conf içerisinde belirteceğimiz lokasyona yedeklemeyi yapacaktır.

Yukarıdaki değişiklikler yapıldıktan sonra postgresql servisimizi restart ediyoruz.

Postgresql de değişiklikleri yaptıktan sonra aşağıdaki şekilde dosya izinlerini ve ownerlarını değiştiriyoruz. Linux da dosya ve owner ile ilgili detaylı bilgi için Linux Yetkiler  ve Linux Yetki Tanımlama isimli yazımı okuyabilirsiniz.

chmod 755 /usr/bin/pgbackrest

chown postgres:postgres /var/lib/pgbackrest

chmod 640 /etc/pgbackrest.conf

Yukarıdaki değişiklikler yapıldıktan sonra aynı sunucu üzerinde kurduğumuz pgbackrest konfigurasyon dosyasını değiştiriyoruz.

 

[global]
repo1-path=/var/lib/pgbackrest
compress-level=3
repo1-retention-full=3
repo1-retention-diff=2
process-max=5

[main]
pg1-path=/var/lib/pgsql/12/data

Conf üzerinde değişiklik yapıldıktan sonra pgbackrest de yaptığımız confların geçerli olabilmesi için conf üzerinde belirtilen postgresql adı ile stanza oluşturulmalıdır.


Pgbackrest stanza Nedir?

Pgbackrest stanza: Konfigurasyon dosyası içerisinde belirtilen postgresql e ait bilgilerin pgbackrest tarafından kullanılması için kendine ait isimle oluşturulan isimdir.

pgbackrest --stanza=main check --log-level-console=info

Aşağıdaki check işleminde pgbackrest kurulumunda herhangi sorun olmadığını görüyoruz.

Pgbackrest ile ilk Full backup almak için aşağıdaki komutu kullanabiliriz.

pgbackrest --stanza=main backup --type full --log-level-console=info 

Pgbackrest ile Diff backup almak için

pgbackrest --stanza=main backup --type diff--log-level-console=info 

Pgbackrest ile İncr backup almak için

pgbackrest --stanza=main backup --type incr --log-level-console=info

Pgbackrest ile ilgili stanza ile ilgili detaylı bilgi için

pgbackrest --stanza=main  info

Backupları belirli zamanlarda almak için crontab a backup scriptlerinizi ekleyerek düzenli olarak almasını sağlayabilir ve işlem sonucunu kendinize mail olarak atabilirsiniz.

Linux mail yapılandırması ve mail atmak  ile ilgili detaylar için aşağıdaki yazıma göz atabilirsiniz.

Relay Hakkı Olan Sunucu Konfigürasyonu ve Mail Atmak

Loading