Créer un fichier zip de votre serveur et sauvegarde SQL

11 Octobre 2013 à 00:00 Système d'exploitation

Je ne publierai plus rien sur ce blog. Un nouveau blog existe maintenant. Il se nomme Hardly Smart.

Vous pourrez y retrouver des astuces plus larges sur l'informatique ainsi que mes anciens billets de blog.

Je vous souhaite une bonne lecture sur Hardly Smart.


Pour un projet perso je dois mettre un place un script qui permet de créer un backup des fichiers présent sur le serveur ainsi que la base de données. Il faut absolument un serveur avec PHP 5.*.

Tout d\'abord vous aurez besoin de ce fichier pour réaliser facilement le backup de la base de données. Ce script a été réalisé par Benoit Asselin, vous pouvez aller sur son site Internet pour plus d\'info sur lui : http://www.ab-d.fr/.

Voici le cours d\'OpenClassRoom dont je me suis servi pour ce tuto : http://fr.openclassrooms.com/informatique/cours/les-fonctions-zip-en-php

Et la doc php.net : http://php.net/manual/fr/class.ziparchive.php

Source

open($destination, ZIPARCHIVE::CREATE)) {
            return false;
        }

        $source = str_replace(\'\\\', \'/\', realpath($source));

        if (is_dir($source) === true) {
            $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);

            foreach ($files as $file) {
                $file = str_replace(\'\\\', \'/\', $file);

                // Ignore \".\" and \"..\" folders
                if (in_array(substr($file, strrpos($file, \'/\') + 1), array(\'.\', \'..\')))
                    continue;

                $file = realpath($file);

                if (is_dir($file) === true) {
                    $zip->addEmptyDir(str_replace($source . \'/\', \'\', $file . \'/\'));
                } else if (is_file($file) === true) {
                    $zip->addFromString(str_replace($source . \'/\', \'\', $file), file_get_contents($file));
                }
            }
        } else if (is_file($source) === true) {
            $zip->addFromString(basename($source), file_get_contents($source));
        }
        
        return $zip->close();
    }
    
    
    $dir_save = \'wordpress/\';
        
    new BackupMySQL(array(
        \'username\' => \'login\',
        \'passwd\' => \'mdp\',
        \'dbname\' => \'nom_de_votre_base\',
        \'nom_fichier\' => \'nom_du_fichier_de_sortie\'
    ));

    //Si vous souhaitez enregistrer le dossier courant pensez à mettre ./ avant
    Zip(\'dossier_a_sauvegarder\', \'chemin/fichier_de_sortie.zip\');

?>

Articles liés

Les commentaires ont été désactivés.

0 commentaire