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