Genel

Plesk Sunucuda Veritabanlarını Toplu Olarak Yedek Almak İçin .bash Script

Aşağıdaki script, Plesk sunucuda MariaDB üzerindeki tüm veritabanlarını döngüyle yedekleyerek sıkıştırılmış .gz formatında saklar:

#!/bin/bash

# Yedekleme dizini
BACKUP_DIR="/backup"

# Plesk MySQL yönetici kullanıcı bilgileri
MYSQL_USER="admin"
MYSQL_PASSWORD=$(cat /etc/psa/.psa.shadow)

# Eğer yedekleme dizini yoksa oluştur
mkdir -p "$BACKUP_DIR"

# Tüm veritabanlarını listele
DATABASES=$(/usr/bin/mariadb -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "^(Database|information_schema|performance_schema|mysql|sys)$")

# Her veritabanı için yedek al
for DB in $DATABASES; do
    TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
    BACKUP_FILE="$BACKUP_DIR/${DB}_$TIMESTAMP.sql.gz"
    echo "Yedek alınıyor: $DB -> $BACKUP_FILE"
    /usr/bin/mariadb-dump -u$MYSQL_USER -p$MYSQL_PASSWORD --databases "$DB" | gzip > "$BACKUP_FILE"
    if [ $? -eq 0 ]; then
        echo "Başarıyla yedeklendi: $DB"
    else
        echo "Hata oluştu: $DB"
    fi
done

echo "Tüm veritabanları yedeklendi."

Bu script, her veritabanını ayrı bir .sql.gz dosyası olarak /backup klasörüne kaydeder.

  1. Script’i bir dosyaya (veritabaniyedekle.sh) kaydedin ve çalıştırma izni verin:
chmod +x veritabaniyedekle.sh

Çalıştırın:

./veritabaniyedekle.sh

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir