Site Overlay

Python ile Otomatik Oturum Açarak CPanel ve PhpMyAdmin Üzerinden Veritabanı Yedekleme Adımları

Python ile Otomatik Oturum Açarak CPanel ve PhpMyAdmin Üzerinden Veritabanı Yedekleme Adımları otomatik olarak cPanel’e giriş yapıp phpMyAdmin üzerinden yedek almak, tarayıcı otomasyonu gerektiren karmaşık bir süreçtir ve bu işlem genellikle manuel olarak yapılır. Yine de, bu tür bir otomasyonu Python kullanarak yapmak mümkündür. Tarayıcı otomasyonu için Selenium gibi araçlar kullanabiliriz.

Python’u indirmek ve kurmak oldukça basittir. İşletim sisteminize göre adımlar biraz değişiklik gösterebilir, ancak genel olarak aşağıdaki yönergeleri takip edebilirsiniz:

Windows İçin:

  1. Python İndirme:

macOS İçin:

  1. Python İndirme:

Linux İçin:

  1. Paket Yöneticisi İle Kurma:
    • Genellikle Linux dağıtımınızın paket yöneticisi ile Python’u kurabilirsiniz. Örneğin, Ubuntu veya Debian için Terminal’de sudo apt install python3 komutunu kullanabilirsiniz.

Adım 1: Gerekli Kütüphanelerin Yüklenmesi

Python’da Selenium’u kullanarak tarayıcı otomasyonu yapacağız. Bu yüzden öncelikle Selenium kütüphanesini yüklememiz gerekiyor.

pip install selenium
pip install webdriver-manager

Adım 2: Selenium Kullanarak cPanel’den Veritabanı Yedeği Alma Scripti

Aşağıda, Python kullanarak cPanel’den phpMyAdmin aracılığıyla MariaDB veritabanını yedeklemek için gerekli script bulunmaktadır. Bu script, Selenium kullanarak cPanel’e giriş yapar ve phpMyAdmin üzerinden veritabanı yedeğini indirir.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# cPanel ve veritabanı bilgileri
cpanel_url = "https://cp05.cpanel.com:2083/"
cpanel_username = "kullanıcı adınız buraya girin"
cpanel_password = "Parolanız buraya girin"
download_dir = "D:\\2BACKUP\\www SQL_Yedekleme\\"  # İndirilen dosyaların taşınacağı dizin

try:
    # Chrome tarayıcıyı başlat ve indirme dizinini ayarla
    chrome_options = webdriver.ChromeOptions()
    prefs = {"download.default_directory": download_dir}
    chrome_options.add_experimental_option("prefs", prefs)
    driver = webdriver.Chrome(options=chrome_options)

    # cPanel'e giriş yap
    driver.get(cpanel_url)
    driver.find_element(By.ID, "user").send_keys(cpanel_username)
    driver.find_element(By.ID, "pass").send_keys(cpanel_password)
    driver.find_element(By.ID, "login_submit").click()

    # cPanel ana sayfasının yüklenmesini bekle
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(),'phpMyAdmin')]")))

    # Oturum ID'sini almak için current_url'i kullan
    current_url = driver.current_url
    session_id = current_url.split('/')[3]  # "cpsess9563398255" gibi oturum ID'sini al

    # phpMyAdmin sayfasına git
    phpmyadmin_url = f"https://cp05.cpanel.com:2083/{session_id}/3rdparty/phpMyAdmin/index.php?route=/database/export&db=btarifakyuz_arifakyuz"
    driver.get(phpmyadmin_url)

    # phpMyAdmin sayfasına yönlendirilmesini bekle
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "buttonGo")))

    # Dışa Aktar butonuna tıklayın
    button = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "buttonGo")))
    button.click()

    print("Dışa Aktar butonuna tıklandı.")

    # İndirme işleminin tamamlanmasını bekleyin (örneğin, tarayıcıda dosya indirme penceresi açıldığında)
    time.sleep(120)  # 120 saniye bekleyin

finally:
    # Tarayıcıyı kapat
    driver.quit()

Adım 3: Görev Zamanlayıcı ile Script’i Otomatikleştirme

Bu scripti her gece 03:30’da çalışacak şekilde Görev Zamanlayıcı ile otomatikleştireceğiz.

  1. Görev Zamanlayıcısı’nı Açın:
    • Windows arama çubuğuna “Görev Zamanlayıcısı” yazarak açın.
  2. Yeni Görev Oluşturma:
    • Sağ panelde “Görev Oluştur…” seçeneğine tıklayın.
  3. Genel Ayarlar:
    • Göreve bir ad verin, örneğin “Veritabanı Yedekleme”.
    • “Güvenlik Seçenekleri” bölümünde, görevi çalıştırmak için yönetici haklarına sahip bir kullanıcı seçin.
  4. Tetikleyici Oluşturma:
    • “Tetikleyiciler” sekmesine gidin ve “Yeni…” butonuna tıklayın.
    • “Günlük” seçeneğini işaretleyin ve saati belirleyin: 03:30.
  5. Eylem Oluşturma:
    • “Eylemler” sekmesine gidin ve “Yeni…” butonuna tıklayın.
    • “Program/script” kutusuna python yazın.
    • “Argümanlar ekle (isteğe bağlı)” kutusuna aşağıdaki argümanları yazın:
"D:\Script\cpanel_backup.py"
  1. Koşullar ve Ayarlar:
    • “Koşullar” sekmesinde, gerekli ayarları yapın (örneğin, sadece bilgisayar AC gücüne bağlı olduğunda çalıştır).
    • “Ayarlar” sekmesinde, görevin zamanında çalıştırılmasını sağlamak için gerekli ayarları yapın.
  2. Görevi Kaydetme:
    • “Tamam” butonuna tıklayarak görevi kaydedin ve çıkın.

Sonuç

Bu adımları izleyerek, cPanel API ve Selenium kullanarak veritabanı yedeklemesini otomatikleştirebilirsiniz.


Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
© 2024 Arif Akyüz. Tüm Hakları Saklıdır. Gizlilik politikası
Yasal Uyarı: Bu sitede yer alan makaleler bilgi amaçlıdır ve hatalar içerebilir. Site sahibi, bu bilgilerin kullanımı sonucunda oluşabilecek zararlardan sorumlu tutulamaz.