Etiket arşivi: cron günlük iş

Postgresql uzak sunucudan otomatik backup alma işlemi

sudo apt-get install postgresql-client

Öncelikle backup.sh adında bir script oluşturdum. Script’in içeriği şu şekilde olacak;

BACKUP_DIR=/directory_to_backup 
PGPASSWORD="password" /usr/bin/pg_dump -C -h hostname -U dbuser dbname | gzip > $BACKUP_DIR/"`date +\%Y-\%m-\%d-\%H\%M\%S`.gz"

İlk satırda backup’ın hangi dizine alınacağını belirliyoruz. İkinci satırda ise öncelikle bağlanacağımız postgresql veri tabanının şifresi, pg_dump binary’sinin bulunduğu dizin, sunucunun ip adresi yada hostname’i, veri tabanı kullanıcısının ismi, veri tabanının ismi yazıldıktan sonra backup’ın sıkıştırılma formatı olarak gzip belirleniyor ve backup’ın alınacağı dizine scriptin çalıştırılma tarihi ve saati eklenerek kaydediliyor. Scripti hazırladıktan sonra cron job olarak olarak ekleyip bu işlemi otomatikleştirebilirsiniz. Cron’a aşağıdaki şekilde eklediğiniz iş ile saat 12 ve 18’de olmak üzere günlük iki adet backup alacaktır.

30 12,18 * * * bash /root/backup.sh

Aşağıdaki cron job’ı ise her dakika çalışmaktadır.

*/1 * * * * bash /root/backup.sh