Re: Yedekleme Planlaması

From: Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>
To: Can Şirin <sirincan(at)itu(dot)edu(dot)tr>
Cc: 'Postgre Bulten' <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: Yedekleme Planlaması
Date: 2013-05-17 10:09:32
Message-ID: 1368785372.5368.6.camel@lenovo01-laptop03.gunduz.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel


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

In response to

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Uygar UZUNHASAN 2013-05-17 12:29:30 Yan: [pgsql-tr-genel] kullanıcı silme
Previous Message Devrim GÜNDÜZ 2013-05-17 10:04:16 Re: kullanıcı silme