[Ищу] авто бэкап бд

Тема в разделе "Wordpress", создана пользователем Revenant425, 4 май 2011.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. Revenant425

    Revenant425

    Регистр.:
    16 авг 2008
    Сообщения:
    200
    Симпатии:
    31
    На днях столкнулся с утерей бд.У хостера она просто пропала из списка, мистика какая-то.Вообщем кое-как восстановили из довольно бородатого бэкапа...Было утеряно довольно много информации.Благо кэш у гугла есть и по сохраненным копиям кое-как контент восстановили.Теперь задумался, а может плагины есть какие-нибудь для вордпресса, которые позволили бы бэкапить бд.Они конечно есть, но это не автобэкапы, а бэкапы по кнопочке.К сожелению у хостера нету крона, повесить не могу.Может у кого есть идеи как это можно реализовать?
     
  2. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Юзаю для части своих проектов слегка переделанный плагин Automatic WordPress Backup
    Он работает без использования внешнего крона (используется крон WP).
    Бекапится все дело на Амазон, но написать слой для работы с FTP дело 15 минут (взять готовый класс, и слегка переделать)
     
    alice2k нравится это.
  3. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    640
    Симпатии:
    154
    Как вариант - не только для вордпресса, использовать php-скрипт для бекапа бд, который повесить на сторонний крон - у меня например
    на одном хосте, тоже не дающем доступа к своему крону, работает такой скрипт:
    Код:
    <?php
    ######## einstellungen #############################################
    $db_name = "IhreDatenBank";
    $db_passwd = "IhrDatenBankPasswort";
    $downloadlink_erstellen = "ja";
    $bestaetigungsmail_senden = "ja";
    $bestaetigungsmail_adresse = "IhreMailAdresse";
    $bestaetigungsmail_betreff = "[BACKUP] Ihr Backupscript";
    $sql_file = "dump_" . $db_name . "_" . date('Ymd_Hi') . ".sql";
    ####################################################################
    ### daten überprüfen
    if ( $db_name == "IhreDatenBank" or $db_passwd == "IhrDatenBankPasswort" )
    {
    die("FEHLER: Sie m&uuml;ssen zun&auml;chst Ihre Datenbankdaten im Script eingeben!");
    }
    if ( file_exists($sql_file) or file_exists($sql_file . ".gz") )
    {
    die("FEHLER: Das zu erstellende Dump existiert bereits!");
    }
    ## dump erstellen
    exec("mysqldump -u $db_name -p'$db_passwd' --quick --allow-keywords --add-drop-table --complete-insert --quote-names $db_name >$sql_file");
    exec("gzip $sql_file");
    ### größe ermitteln
    $datei = $sql_file . ".gz";
    $size = filesize($datei);
    $i = 0;
    while ( $size > 1024 )
    {
    $i++;
    $size = $size / 1024;
    }
    $fileSizeNames = array(" Bytes", " KiloBytes", " MegaBytes", " GigaBytes", " TerraBytes");
    $size = round($size,2);
    $size = str_replace(".", ",", $size);
    $groesse = "$size $fileSizeNames[$i]";
    ### nachricht erstellen
    $message = "Ihr Backup der Datenbank <b>" . $db_name . "</b> wurde durchgeführt.<br>";
    $message .= "Die Größe des erstellten Dumps beträgt <b>" . $groesse . "</b>.<br>";
    if ($downloadlink_erstellen == "yes" or $downloadlink_erstellen == "ja" or $downloadlink_erstellen == "1")
    {
    $link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    $link = str_replace(basename(__FILE__),$datei,$link);
    $message .= "Downloadlink: <a href='" . $link . "'>" . $datei . "</a>";
    }
    ## nachricht ausgeben
    echo $message;
    ### mail versenden
    $message = str_replace("<br>", "rn", $message);
    $message = str_replace("<b>", "", $message);
    $message = str_replace("</b>", "", $message);
    if ($bestaetigungsmail_senden == "yes" or $bestaetigungsmail_senden == "ja" or $bestaetigungsmail_senden == "1")
    {
    if(!preg_match( '/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/' , $bestaetigungsmail_adresse))
    {
    echo "<br>FEHLER: Mail konnte nicht versendet werden, da die Adresse ung&uuml;ltig ist!";
    }
    else
    {
    mail($bestaetigungsmail_adresse, $bestaetigungsmail_betreff,
    $message,"From: backupscript@{$_SERVER['SERVER_NAME']}rn" . "Reply-To: backupscript@{$_SERVER['SERVER_NAME']}rn")
    or die("FEHLER: Mail konnte wegen eines unbekannten Fehlers nicht versendet werden");
    echo "<br>Best&auml;tigungsmail wurde erfolgreich versandt!";
    }
    }
    ?>
    по немецки, но в принципе ничего страшного нет, изменить на свои нужно 3 переменных -
    $db_name = "IhreDatenBank";
    $db_passwd = "IhrDatenBankPasswort";
    $bestaetigungsmail_adresse = "IhreMailAdresse";
    бекапы бд будут складываться рядом со скриптом, на исполнение по расписанию можно повесить например тут
     
    alice2k и azybat нравится это.
  4. bat

    bat

    Регистр.:
    24 сен 2009
    Сообщения:
    976
    Симпатии:
    277
    я так полагаю что логин БД будет браться в зависимости от расположения скрипта на сервере относительно папки пользователя?
    позволил себе русифицировать скриптец
     

    Вложения:

  5. LeKtOr

    LeKtOr Постоялец

    Регистр.:
    26 апр 2007
    Сообщения:
    91
    Симпатии:
    6
    wp database, хороший бесплатный плагин
     
  6. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    использую wp-db-backup
    http://austinmatzko.com/wordpress-plugins/wp-db-backup/
    настройка таблиц для копирования, настройка частоты создания бекапов, отправка на емейл
     
    Revenant425 нравится это.
  7. Revenant425

    Revenant425

    Регистр.:
    16 авг 2008
    Сообщения:
    200
    Симпатии:
    31
    вот за это биг спс.я этот мод видел, но не вникал в спецификацию.то что искал
     
Статус темы:
Закрыта.