• 29-08-2024, 11:02:47
    #1
    Merhaba,

    <?php
    // Veritabanı bilgileri
    $host = "localhost"; // Veritabanı sunucusu
    $dbname = "veritabani_adi"; // Veritabanı adı
    $username = "kullanici_adi"; // Veritabanı kullanıcı adı
    $password = "sifre"; // Veritabanı şifresi
    
    // Yedek dosyasının adı (Güncel tarihli olarak)
    $backupFile = $dbname . "_" . date("Y-m-d_H-i-s") . ".sql";
    
    // mysqldump komutunu oluşturma
    $command = "mysqldump --opt -h $host -u $username -p$password $dbname > $backupFile";
    
    // Komutu çalıştırma
    system($command);
    
    // Yedek dosyasını indirime sunma
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . basename($backupFile) . '"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($backupFile));
    readfile($backupFile);
    
    // Yedek dosyasını sunucudan silme (isteğe bağlı)
    unlink($backupFile);
    
    exit;
    ?>
    PHP işleriniz yapılır... (PM)
  • 29-08-2024, 11:04:33
    #2
    Üyeliği durduruldu
    paylaşım için teşekkürler
  • 29-08-2024, 11:06:19
    #3
    <?php
    // Veritabanı bağlantı bilgileri
    $host = 'localhost';
    $dbname = 'veritabani_adi';
    $username = 'kullanici_adi';
    $password = 'sifre';
    
    // Yedekleme dosyasının kaydedileceği dizin ve dosya adı
    $backupDir = __DIR__ . '/backups';
    $backupFile = $backupDir . '/backup_' . date('Ymd_His') . '.sql';
    
    // backups klasörünün var olup olmadığını kontrol et, yoksa oluştur
    if (!file_exists($backupDir)) {
        mkdir($backupDir, 0755, true);
    }
    
    // MySQL dump komutunu oluştur
    $command = "mysqldump --host=$host --user=$username --password=$password $dbname > $backupFile";
    
    // Komutu çalıştır
    system($command, $output);
    
    // Yedekleme işleminin sonucunu kontrol et
    if ($output === 0) {
        echo "Yedekleme başarılı: $backupFile";
    } else {
        echo "Yedekleme başarısız.";
    }
    ?>
    şöyle backups klasorune yedekte aldırabilirsiniz. crona bağlayıp
  • 29-08-2024, 11:11:15
    #4
    En sağlıklı yedek ssh ile alinandir
    Büyük dbler yedeklenirken ve geri yüklerken charset illegal char vb hatalar almamak için ssh kullanın.
  • 29-08-2024, 11:22:39
    #5
    system(), shell() ve shell_exec() gibi fonksiyonları her hostingde çalıştıramayabilirsiniz bilginiz olsun
  • 29-08-2024, 11:38:00
    #6
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    system(), shell() ve shell_exec() gibi fonksiyonları her hostingde çalıştıramayabilirsiniz bilginiz olsun
    Evet, paylaşımlı hostinglerde devre dışı bırakılır