X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Отправка бэкапа на емейл, Отправка архива вложением на емейл
Axel_mw
Axel_mw
Topic Starter сообщение 9.6.2009, 13:28; Ответить: Axel_mw
Сообщение #1


Всем дорого времени суток!

Наладил у себя на форуме бэкап через крон с помощью sypex dumper, теперь бэкапы БД делаются по расписанию без моего участия, но приходится в ручную скачивать дамп ;)
Очень нужно, чтобы созданный дамп сам отправлялся на емейл в аттаче. В нете много PHP скриптов позволяющих это делать, но чтото у меня с ними не заладилось, получилось только с одним
<?php
$hourdiff = "0";
$timeadjust = ($hourdiff * 60 * 60);
$melbdate = date("_Y-m-d_",time() + $timeadjust); //сегодняшняя дата
$aa = "DB_NAME"; //Имя файла дампа, до даты
$bb = ".sql.gz"; //Имя файла дампа, после даты

include "libmail.php"; //подключили файл libmail.php
$m = new Mail; //создали новый объект класса Mail
$m->From("admin@сайт.ru"); //задаем любой адрес отправителя
$m->To("получатель@почта.ru");//задаем адрес получателя
$m->Subject("Бэкап за $melbdate");//тема сообщения
$message = "Надеюсь я тебе не понадоблюсь";//формируем текст сообщения
$m->Body($mesage);//задаем текст сообщения
$m->Attach("$aa$melbdate$bb");//прикрепляем файл-архив
$m->Send(); //отправляем бэкап на мыло
echo ("Cron, привет!");
?>


Но вот когда скрипт запускается сервер сразу выдает, что недостаточно памяти (Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12565719 bytes)
Памяти походу требует столько сколько весит незаархивированый дамп (Незаархивленый примерно 45мб, заархивированый в gzip почти 9мб).
Но наверняка есть решения этой проблемы. К сожалению я PHP не знаю, могу лишь интуитивно рыться (Впринципе видно из скрипта каким матом я вывел название файла аттача ;) ).

Огромная просьба помочь с решением ;)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 9.6.2009, 16:45; Ответить: ZiTosS
Сообщение #2


Axel, естественно в строке
$m->Attach("$aa$melbdate$bb");//прикрепляем файл-архив

вы крепите не архив. Вы же просто переименовали окончание, расширение, но никак не обработали ваши данные, чтобы они были в формате gzip.
gzcompress
Вот сжатие контента и его последующая печать
<?php
function print_gzipped_output()
{
    $HTTP_ACCEPT_ENCODING = $_SERVER["HTTP_ACCEPT_ENCODING"];
    if( headers_sent() )
        $encoding = false;
    else if( strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false )
        $encoding = 'x-gzip';
    else if( strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false )
        $encoding = 'gzip';
    else
        $encoding = false;
  
    if( $encoding )
    {
        $contents = ob_get_clean();
        $_temp1 = strlen($contents);
        if ($_temp1 < 2048)    // no need to waste resources in compressing very little data
            print($contents);
        else
        {
            header('Content-Encoding: '.$encoding);
            print("\x1f\x8b\x08\x00\x00\x00\x00\x00");
            $contents = gzcompress($contents, 9);
            $contents = substr($contents, 0, $_temp1);
            print($contents);
        }
    }
    else
        ob_end_flush();
}
?>


Можно изменить под свои нужды.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Axel_mw
Axel_mw
Topic Starter сообщение 9.6.2009, 18:54; Ответить: Axel_mw
Сообщение #3


ZiTosS, благодарю за ответ, но к сожалению я не могу понять что там и как.
Файл который я креплю уже зажат в gzip или при аттаче таким способом он распаковывается?
Если Вам не трудно, не могли бы Вы показать как должен выглядеть итоговый скрипт отправляющий бэкап на емейл в формате gzip?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.6.2009, 2:00; Ответить: ZiTosS
Сообщение #4


Axel, так я не понял, вы крепите уже gzip или он у вас другого форматы изначально?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Axel_mw
Axel_mw
Topic Starter сообщение 11.6.2009, 14:21; Ответить: Axel_mw
Сообщение #5


ZiTosS, да, я креплю сразу gzip.
У меня на кроне стоит Sypex Dumper который создает дамп базы сжимает его в gzip и кидает в папку. Все что нужно это уже готовый и сжатый в gzip дамп отправить на почту.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Сбор баз фирм с 2Gis и яндекс карт. Рассылка емейл.
0 dima280 993 21.3.2021, 11:09
автор: dima280
Открытая тема (нет новых ответов) Отправка смс на телефоне через web-сайт
0 Sepembra 956 21.8.2018, 16:13
автор: Sepembra
Открытая тема (нет новых ответов) Ищу знатока MODX и контактных форм (отправка сообщений с сайта)
0 by_roXe 1844 31.5.2017, 14:35
автор: by_roXe
Открытая тема (нет новых ответов) VkNotify - отправка уведомлений ВКонтакте
9 lordonx3 12467 4.5.2015, 14:17
автор: lordonx3
Открытая тема (нет новых ответов) Требуется Отправка ссылок в индекс
2 sergeyasaylak 5210 5.2.2015, 22:34
автор: mixalius


 



RSS Текстовая версия Сейчас: 20.4.2024, 10:38
Дизайн