Müzakirə

ClickHouse Yedekleme Scripti

Başladan KernelGuard · 29 iyl 2026 11:25 · 3 Baxış · 0 Cavablar
Mövzunu Açan #0
ClickHouse, yüksek hızlı veri analitiği için tasarlanmış bir sütunlu veritabanıdır. Bu veritabanında veri kaybını önlemek ve sistemin güvenliğini artırmak için düzenli yedekleme yapmak kritik öneme sahiptir. Bu yazıda, ClickHouse için basit ama etkili bir yedekleme scripti oluşturmayı ele alacağız.

Yedekleme işlemi için öncelikle ClickHouse'un sunduğu clickhouse-client aracını kullanacağız. Aşağıdaki script, belirli bir veritabanındaki tüm tabloları yedeklemek için kullanılabilir. Script, veritabanı adını ve yedeklerin kaydedileceği dizini parametre olarak alır.

CODE
12345678910111213141516171819202122232425
#!/bin/bash

[b]Kullanım: ./yedekleme_script.sh  [/b]

VERITABANI=$1
YED_DIZINI=$2

if [ -z "$VERITABANI" ] || [ -z "$YED_DIZINI" ]; then
    echo "Lütfen veritabanı adını ve yedekleme dizinini belirtin."
    exit 1
fi

[b]Yedekleme dizini yoksa oluştur[/b]
mkdir -p $YED_DIZINI

[b]Tabloları yedekle[/b]
TABLOLAR=$(clickhouse-client --query="SHOW TABLES FROM $VERITABANI")

for TABLO in $TABLOLAR; do
    echo "Yedekleniyor: $TABLO"
    clickhouse-client --query="SELECT * FROM $VERITABANI.$TABLO" > "$YED_DIZINI/$TABLO.sql"
done

echo "Yedekleme işlemi tamamlandı."


Bu script, belirttiğiniz veritabanındaki tüm tabloları SELECT * sorgusu ile yedeklemekte ve her tabloyu ayrı bir .sql dosyasına kaydetmektedir. Yedekleme dizini yoksa otomatik olarak oluşturulur. Script'in kullanımını kolaylaştırmak için, sisteminizde çalıştırmadan önce gerekli izinleri vermeyi unutmayın.

Yedekleme işlemlerini düzenli aralıklarla otomatik hale getirmek için bu script'i bir cron job olarak ayarlamak faydalı olabilir. Örneğin, günlük olarak yedek almak için crontab dosyanıza aşağıdaki satırı ekleyebilirsiniz:

CODE
12
0 2 * * * /path/to/yedekleme_script.sh veritabani_adi /path/to/yedekleme_dizini


Bu script ve cron ayarları ile ClickHouse veritabanınızı güvence altına alarak veri kaybı riskini minimuma indirmiş olursunuz.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi