FW: [pgsql-tr-genel] RE: [pgsql-tr-genel] Yedekleme Planlaması

From: Can Şirin <sirincan(at)itu(dot)edu(dot)tr>
To: 'Devrim GÜNDÜZ' <devrim(at)gunduz(dot)org>
Cc: "'Postgre Bulten'" <pgsql-tr-genel(at)postgresql(dot)org>
Subject: FW: [pgsql-tr-genel] RE: [pgsql-tr-genel] Yedekleme Planlaması
Date: 2013-05-22 19:40:30
Message-ID: 003601ce5724268210$a8738630$@itu.edu.tr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

Hocam galiba yaptığım bir hata yüzünden bu sorunla karşılaşıyormuşum. Bunu düzelttikten sonra gönderdiğiniz betik bölümünü ihtiyacıma göre tamamladım. Kısacası şu an da başarılı bir şekilde yedekleme işlemlerimi gerçekleştiriyorum. İlginiz için teşekkürler.

İhtiyacı olan arkadaş varsa betiği paylaşabilirim.

İyi çalışmalar

-----Original Message-----
From: pgsql-tr-genel-owner(at)postgresql(dot)org [mailto:pgsql-tr-genel-owner(at)postgresql(dot)org] On Behalf Of Can Şirin
Sent: Sunday, May 19, 2013 8:54 AM
To: 'Devrim GÜNDÜZ'
Cc: 'Postgre Bulten'
Subject: [pgsql-tr-genel] RE: [pgsql-tr-genel] Yedekleme Planlaması

İlgilendiğiniz çok teşekkür ederim Devrim hocam.

Şöyle bir sorum var. pg_basebckup komutu arşivleme komutunu da tetikliyor. Postgres dökümanlarında arşivleme komutu için örnek olarak verilen komutta arşivlenecek olan xlog dosyasının hedefteki varlığı kontrol ediliyor ve varsa kopyalanmıyor. Komutun döndürdüğü değer sıfırdan farklı olduğu için arşivleme tamamlanamıyor. Dolayısıyla basebackup alınamıyor.
Bizim sunucuda da xlog lar o kadar hızlı rotate edilmiyor. Transaction çok sık değil. xloglar arşivlenmiş bile olsa pg_xlog dizininde durmaya devam ediyor.

Bu durumda arşiv dizinindeki o xlog dosyasının üstüne yazmak mı yoksa farklı bir yöntem mi daha uygun olacaktır.

-----Original Message-----
From: pgsql-tr-genel-owner(at)postgresql(dot)org [mailto:pgsql-tr-genel-owner(at)postgresql(dot)org] On Behalf Of Devrim GÜNDÜZ
Sent: Friday, May 17, 2013 1:10 PM
To: Can Şirin
Cc: 'Postgre Bulten'
Subject: Re: [pgsql-tr-genel] Yedekleme Planlaması

Merhaba,

On Tue, 2013-05-14 at 16:21 +0300, Can Şirin wrote:

<...>
>
> Ya da en azından pitr için yedekleme planlamasının nasıl yapılacağı
> konusunda temel mantık nedir ve varsa tecrübelerinizden örnekler
> verebilir misiniz.

Sana geçenlerde bir müşteriye yazdığım scriptin 2 bölümünü yazayım.
Değişkenler zaten kendi kendini açıklıyor. Bu mantığı seversen scripting geri kalanını yazabilirsin:

===============================================================================
take_base_backup()
{
# Use pg_basebackup to take base backups -- it avoids extra manual steps.

# Check whether pg_basebackup binary exists or not:
[ -f "$PGINSTDIR/pg_basebackup" ] || do_error_check "pg_basebackup binary is not found! Exiting.";

# Create backup directory
mkdir -p $ARCHIVEDIR/$BACKUPDATE

# Now run pg_basebackup. We use -Ft as default, otherwise script will fail # if it is run on the same machine where the PostgreSQL.
# We also prefer to run spreaded checkpoints, rather than fast ones, to # avoid performance issues.
# Finally, gzip is used to compress the data.
echo "Starting taking base backup"
$PGINSTDIR/pg_basebackup -D $ARCHIVEDIR/$BACKUPDATE -P -Ft -x -z -Z9 -c spread -l $HOSTNAME -h $PGHOSTNAME -p $PORT -U $BACKUPUSER > "$BASEBACKUPLOG" 2>&1 < /dev/null

do_error_check "Error taking base backup!";
print_success "Base backup is taken successfully"; }

# Func: Remove old backups
remove_old_backups()
{
if [ ! -d "$ARCHIVEDIR" ] || [ ! -d "$XLOGARCHIVEDIR" ]
then
do_error_check "Base backup directory and/or xlog archive directory does not exist!";
fi

echo "Starting to purge data that is more than $BACKUPKEEPDAYS days old"
find $ARCHIVEDIR/ -mtime +$BACKUPKEEPDAYS -exec /bin/rm -rf {} \;
find $XLOGARCHIVEDIR/ -mtime +$BACKUPKEEPDAYS -exec /bin/rm -rf {} \;
echo "Old data purged"
echo
}

===============================================================================
İyi çalışmalar,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz

adresine yollayabilirsiniz.

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
message can get through to the mailing list cleanly

In response to

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Erdem ALPARSLAN (BİLGEM-SGE) 2013-07-09 21:09:49 Could not open file "pg_notify/0000": Read-only file system. HATASI
Previous Message Can Şirin 2013-05-19 05:53:35 RE: [pgsql-tr-genel] Yedekleme Planlaması