• 14-01-2025, 18:14:53
    #1
    Merhaba,
    WHM panelimiz mevcut ve bu panel üzerinde farklı domainlere ait hostingler bulunuyor. Bu hostinglerde, e-posta hizmetlerini kullanan müşterilerimiz de mevcut. Özellikle e-posta hizmetleri sebebiyle sürekli manuel yedek almak durumunda kalıyorum ve bu süreç oldukça yorucu ve zaman alıcı oluyor.
    Bu noktada, WHM üzerinde bulunan web siteleri için otomatik bir yedekleme sistemi kurmayı düşünüyorum. İdeal olarak bu sistem, günlük veya belirli aralıklarla yedekleme yapabilecek ve WHM paneline bir API aracılığıyla bağlanarak yedekleri bir bulut sunucusuna (örneğin, Google Drive) aktarabilecek bir yapıya sahip olmalı.
    Bu kapsamda:
    1. Böyle bir script veya yazılım geliştirilmesi mümkün müdür?
    2. Eğer mümkünse, bu tür bir yazılımın maliyeti nedir?
    3. Bunun yerine kullanabileceğim, önerdiğiniz hazır bir sistem var mıdır?
    Görüşlerinizi ve önerilerinizi sabırsızlıkla bekliyorum.
  • 14-01-2025, 18:26:25
    #2
    JetBackup
    R1Soft
  • 14-01-2025, 18:29:26
    #3
    #!/bin/bash

    # WHM Yedekleme Dizini
    BACKUP_DIR="/backup"

    # FTP Sunucusu Bilgileri
    FTP_HOST="ftp.example.com"
    FTP_PORT="21"
    FTP_USER="ftp_user"
    FTP_PASS="ftp_password"
    FTP_DEST_DIR="/remote-backup"

    # Log Dosyası
    LOG_FILE="/var/log/ftp_backup.log"

    # Tarih
    DATE=$(date '+%Y-%m-%d_%H-%M-%S')

    # Yedekleme Başlangıcı
    echo "[$DATE] Yedekleme işlemi başlatılıyor..." >> $LOG_FILE

    # WHM yedekleme işlemi başlatılıyor
    curl -s -H "Authorization: whm root:YOUR_WHM_API_KEY"
    "https://your-server-ip:2087/json-api/cpanel?cpanel_jsonapi_module=Backup&cpanel_jsonapi _func=startbackup"
    >> $LOG_FILE 2>&1

    if [ $? -ne 0 ]; then
    echo "[$DATE] WHM yedekleme başlatılamadı!" >> $LOG_FILE
    exit 1
    fi

    # Yedekleme dizinini kontrol et
    if [ ! -d "$BACKUP_DIR" ]; then
    echo "[$DATE] Yedekleme dizini bulunamadı: $BACKUP_DIR" >> $LOG_FILE
    exit 1
    fi

    # FTP'ye yükleme işlemi
    echo "[$DATE] Yedekler FTP sunucusuna yükleniyor..." >> $LOG_FILE
    lftp -u "$FTP_USER,$FTP_PASS" -p $FTP_PORT $FTP_HOST <<EOF
    mirror -R $BACKUP_DIR $FTP_DEST_DIR
    quit
    EOF

    if [ $? -ne 0 ]; then
    echo "[$DATE] FTP yükleme başarısız oldu!" >> $LOG_FILE
    exit 1
    fi

    echo "[$DATE] Yedekleme işlemi başarıyla tamamlandı!" >> $LOG_FILE

    ———
    Script’in Açıklamaları
    1. WHM Yedekleme Dizini:
    • BACKUP_DIR="/backup" WHM’nin yedeklerini depoladığı dizindir. WHM Backup Configuration kısmından bu dizini kontrol edebilirsiniz.
    2. FTP Sunucusu Bilgileri:
    • FTP sunucusunun adresi, port numarası, kullanıcı adı ve şifresi girilir.
    • FTP_DEST_DIR ile yedeklerin FTP sunucusunda kaydedileceği dizin belirtilir.
    3. Loglama:
    • Tüm işlemler /var/log/ftp_backup.log dosyasına kaydedilir.
    • Hata durumlarında script işlemi durdurur.
    4. WHM Backup Başlatma:
    • WHM API kullanılarak yedekleme işlemi başlatılır.
    • YOUR_WHM_API_KEY kısmına WHM’den oluşturduğunuz API anahtarını yerleştirin.

    created by chatgpt… Deneyebilirsiniz veya daha da genişletebilirsiniz scripti
  • 15-01-2025, 08:22:23
    #4
    Hocam yorumunuz için teşekkür ederim ama bende root yetkisi yok sadece whm üzerinden giriş yapabiliyorum birde script tarzı panel gibi bir alan yokmu veya bu kodlar da işe yarıyorsa nasıl ve nereye yüklemem gerekiyor bilgi verirseniz çok sevinirim...

    byc4n adlı üyeden alıntı: mesajı görüntüle
    #!/bin/bash

    # WHM Yedekleme Dizini
    BACKUP_DIR="/backup"

    # FTP Sunucusu Bilgileri
    FTP_HOST="ftp.example.com"
    FTP_PORT="21"
    FTP_USER="ftp_user"
    FTP_PASS="ftp_password"
    FTP_DEST_DIR="/remote-backup"

    # Log Dosyası
    LOG_FILE="/var/log/ftp_backup.log"

    # Tarih
    DATE=$(date '+%Y-%m-%d_%H-%M-%S')

    # Yedekleme Başlangıcı
    echo "[$DATE] Yedekleme işlemi başlatılıyor..." >> $LOG_FILE

    # WHM yedekleme işlemi başlatılıyor
    curl -s -H "Authorization: whm root:YOUR_WHM_API_KEY"
    "https://your-server-ip:2087/json-api/cpanel?cpanel_jsonapi_module=Backup&cpanel_jsonapi _func=startbackup"
    >> $LOG_FILE 2>&1

    if [ $? -ne 0 ]; then
    echo "[$DATE] WHM yedekleme başlatılamadı!" >> $LOG_FILE
    exit 1
    fi

    # Yedekleme dizinini kontrol et
    if [ ! -d "$BACKUP_DIR" ]; then
    echo "[$DATE] Yedekleme dizini bulunamadı: $BACKUP_DIR" >> $LOG_FILE
    exit 1
    fi

    # FTP'ye yükleme işlemi
    echo "[$DATE] Yedekler FTP sunucusuna yükleniyor..." >> $LOG_FILE
    lftp -u "$FTP_USER,$FTP_PASS" -p $FTP_PORT $FTP_HOST <<EOF
    mirror -R $BACKUP_DIR $FTP_DEST_DIR
    quit
    EOF

    if [ $? -ne 0 ]; then
    echo "[$DATE] FTP yükleme başarısız oldu!" >> $LOG_FILE
    exit 1
    fi

    echo "[$DATE] Yedekleme işlemi başarıyla tamamlandı!" >> $LOG_FILE

    ———
    Script’in Açıklamaları
    1. WHM Yedekleme Dizini:
    • BACKUP_DIR="/backup" WHM’nin yedeklerini depoladığı dizindir. WHM Backup Configuration kısmından bu dizini kontrol edebilirsiniz.
    2. FTP Sunucusu Bilgileri:
    • FTP sunucusunun adresi, port numarası, kullanıcı adı ve şifresi girilir.
    • FTP_DEST_DIR ile yedeklerin FTP sunucusunda kaydedileceği dizin belirtilir.
    3. Loglama:
    • Tüm işlemler /var/log/ftp_backup.log dosyasına kaydedilir.
    • Hata durumlarında script işlemi durdurur.
    4. WHM Backup Başlatma:
    • WHM API kullanılarak yedekleme işlemi başlatılır.
    • YOUR_WHM_API_KEY kısmına WHM’den oluşturduğunuz API anahtarını yerleştirin.

    created by chatgpt… Deneyebilirsiniz veya daha da genişletebilirsiniz scripti
  • 15-01-2025, 08:42:24
    #5
    esimsek adlı üyeden alıntı: mesajı görüntüle
    Hocam yorumunuz için teşekkür ederim ama bende root yetkisi yok sadece whm üzerinden giriş yapabiliyorum birde script tarzı panel gibi bir alan yokmu veya bu kodlar da işe yarıyorsa nasıl ve nereye yüklemem gerekiyor bilgi verirseniz çok sevinirim...
    Terminal e de mi erişiminiz yok? (Ana terminale)
  • 15-01-2025, 08:44:07
    #6
    Malesef hocam sadece sunucu:2087 erişim mevcut
    cetin61 adlı üyeden alıntı: mesajı görüntüle
    Terminal e de mi erişiminiz yok? (Ana terminale)
  • 15-01-2025, 08:45:37
    #7
    esimsek adlı üyeden alıntı: mesajı görüntüle
    Malesef hocam sadece sunucu:2087 erişim mevcut
    Tamam işte orada sağ üstte arama butonundan terminal yazınca çıkmıyor mu?

    Ayrıca 2087deki kullanıcı adı ve şifreniz ile ssh girmeyi denediniz mi?
  • 15-01-2025, 08:46:47
    #8
    Arama yaptığımda sadece bu alanlar geliyor