• 16-03-2023, 14:08:20
    #1
    Merhaba arkadaşlar bu sorunu nasıl çözebilirim.
    çalıştırdığımda Zip dosyası oluşturulamadı diyor.


    <?php
    // Yedekleme işlemi için gereken değişkenleri tanımlayın
    $backupDir = "C:\xampp\htdocs\depoyedek"; // Yedekleme dosyalarının kaydedileceği klasör
    $dbHost = "localhost"; // Veritabanı sunucusu adresi
    $dbName = "ware"; // Veritabanı adı
    $dbUser = "root"; // Veritabanı kullanıcı adı
    $dbPass = ""; // Veritabanı şifresi
    $webDir = "C:\xampp\htdocs\depo"; // Web sitesinin dosyalarının bulunduğu dizin
    
    // Yedekleme dosyalarının adını oluşturun
    $dbBackupFile = $backupDir . "\\" . $dbName . "_" . date("Y-m-d-H-i-s") . ".sql";
    $webBackupFile = $backupDir . "\\" . "web_" . date("Y-m-d-H-i-s") . ".zip";
    
    // Veritabanı yedekleme işlemini gerçekleştirin
    exec("mysqldump --user=$dbUser --password=$dbPass --host=$dbHost $dbName > $dbBackupFile");
    
    // Web sitesinin dosyalarını yedekleyin
    $zip = new ZipArchive();
    if ($zip->open($webBackupFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) {
        die('Zip dosyası oluşturulamadı');
    }
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($webDir));
    foreach ($iterator as $key => $value) {
        if (!$value->isDir()) {
            $filePath = $value->getRealPath();
            $relativePath = substr($filePath, strlen($webDir) + 1);
            $zip->addFile($filePath, $relativePath);
        }
    }
    $zip->close();
    
    // Yedekleme işlemi başarılıysa, mesajı ekrana yazdırın
    if (file_exists($dbBackupFile) && file_exists($webBackupFile)) {
        echo "Yedekleme işlemi başarılı! Veritabanı yedek dosyası: $dbBackupFile, Web sitesi yedek dosyası: $webBackupFile";
    } else {
        echo "Yedekleme işlemi başarısız!";
    }
    ?>
  • 16-03-2023, 14:11:24
    #2
    "mysqldump --user=$dbUser --password=$dbPass --host=$dbHost $dbName > $dbBackupFile"
    bu kodu komut satırına yazdığınızda ekrana ne geliyor. Parametreleri düzeltip öyle çalıştırın
  • 16-03-2023, 14:14:09
    #3
    DeRyaca adlı üyeden alıntı: mesajı görüntüle
    "mysqldump --user=$dbUser --password=$dbPass --host=$dbHost $dbName > $dbBackupFile"
    bu kodu komut satırına yazdığınızda ekrana ne geliyor. Parametreleri düzeltip öyle çalıştırın
    Parse error: syntax error, unexpected token "--" in C:xampphtdocsdepoyedek.php on line 15
    bu hatayı veriyor
  • 16-03-2023, 14:25:31
    #4
    sorunu çözdüm. bu sistemi nasıl otomatik hale getirebilirim bilgisi olan var mı
  • 16-03-2023, 15:30:17
    #5
    Görev zamanlayicisiyla otomatik hale getirebilirsin
  • 16-03-2023, 15:39:20
    #6
    teşekkürler şuan ki sorun yedekleme yapıyor ama sql dosyasının içi boş veri tabanını indirmiyor