[Модуль] Backup (backup)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Модуль] Backup (backup)

Сообщение Logrus » Чт фев 27, 2020 8:05 pm

Pau1td писал(а):
Чт фев 27, 2020 5:12 pm
Logrus писал(а):
Чт фев 27, 2020 3:40 am
никто не издевается, в чатике и мной сказано не один раз (кому надо тот найдет)
Внес изменения в objects.class.php и в common.class.php и теперь модуль зависает на этапе save to storage..., хотя раньше доходил до вызова скрипта отчета, но при этом архив на яндекс диске не появлялся...

Не работает решение из чата, только еще хуже стало
только поправочка, у вас не работает ...
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
harrysmith
Сообщения: 80
Зарегистрирован: Чт сен 29, 2016 5:49 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: [Модуль] Backup (backup)

Сообщение harrysmith » Вт мар 03, 2020 11:51 pm

Добрый день
В продолжении темы ошибки при сохранении backUp точнее отправки сообщения о его сохранении
у меня в скрипте для сохранения написано след
say("backup END",99);
и больше ничего
в modules/objects/objects.class.php строка 518 правда у меня не 518
написано следующее со строки 486 по 517

Код: Выделить всё

    function callMethodSafe($name, $params = 0) {
        startMeasure('callMethodSafe');
        $current_call = $this->object_title . '.' . $name;
        if (is_array($params)) {
            $current_call .= '.' . md5(json_encode($params));
        }
        $call_stack = array();
        /*if (IsSet($_SERVER['REQUEST_URI']) && ($_SERVER['REQUEST_URI'] != '')) {*/
	 if(false){
            if (isset($_GET['m_c_s']) && is_array($_GET['m_c_s'])) {
                $call_stack = $_GET['m_c_s'];
            }
            if (in_array($current_call, $call_stack)) {
                $call_stack[] = $current_call;
                DebMes("Warning: cross-linked call of " . $current_call . "\nlog:\n" . implode(" -> \n", $call_stack));
                return 0;
            }
        }
        $call_stack[] = $current_call;
        if (!is_array($params)) {
            $params = array();
        }
        /*if (IsSet($_SERVER['REQUEST_URI']) && ($_SERVER['REQUEST_URI'] != '')) {*/
	 if(false){
            $result = $this->callMethod($name, $params);
        } else {
            $params['m_c_s'] = $call_stack;
            $result = callAPI('/api/method/' . urlencode($this->object_title . '.' . $name), 'GET', $params);
        }
        endMeasure('callMethodSafe');
        return $result;
    }
как видно внесены исправления даже в два места

в lib/common.class.php строка 686
написано следующее строки с 887 по 919

Код: Выделить всё

function runScriptSafe($id, $params = '')
{
    $current_call = 'script.' . $id;
    if (is_array($params)) {
        $current_call.='.'.md5(json_encode($params));
    }
    $call_stack = array();
    /*if (IsSet($_SERVER['REQUEST_URI']) && ($_SERVER['REQUEST_URI'] != '')) {*/
	if(false){
        if (isset($_GET['m_c_s']) && is_array($_GET['m_c_s'])) {
            $call_stack = $_GET['m_c_s'];
        }
        if (in_array($current_call, $call_stack)) {
            $call_stack[] = $current_call;
            DebMes("Warning: cross-linked call of " . $current_call . "\nlog:\n" . implode(" -> \n", $call_stack));
            return 0;
        }
    }
    $call_stack[] = $current_call;
    if (!is_array($params)) {
        $params = array();
    }
    if (isSet($_SERVER['REQUEST_URI'])) {
        $result = runScript($id,$params);
    } else {
        $params['m_c_s'] = $call_stack;
        if (session_id()) {
            $params[session_name()] = session_id();
        }
        $result = callAPI('/api/script/' . urlencode($id), 'GET', $params);
    }
    return $result;
}
как видно внесены исправления

только при выполнении имеем след картинку

Изображение

Как можно исправить сие безобразие
Harry Smith
Plug
Сообщения: 106
Зарегистрирован: Сб янв 20, 2018 12:33 am
Благодарил (а): 42 раза
Поблагодарили: 7 раз

Re: [Модуль] Backup (backup)

Сообщение Plug » Пт мар 13, 2020 8:52 am

Четвертый день подряд бэкап не создается. В логе такая ошибка:

Код: Выделить всё

Exception in "BackupToDropbox.Run" method {"error_summary":"incorrect_offset\/..","error":{".tag":"incorrect_offset","correct_offset":35651584}}, in apiCall(2/files/upload_session/append_v2)
Backtrace:
#0 C:\_majordomo\htdocs\modules\objects\objects.class.php(616): registerError('method', 'Exception in "B...')
#1 C:\_majordomo\htdocs\lib\objects.class.php(964): objects->callMethod('Run', 0)
#2 C:\_majordomo\htdocs\objects\index.php(147) : eval()'d code(1): callMethod('Run')
#3 C:\_majordomo\htdocs\objects\index.php(147): eval()
#4 {main}
Куда копать подскажите? До этого вообще проблем не было, один раз настроил и забыл.
max37online
Сообщения: 39
Зарегистрирован: Ср сен 21, 2016 9:03 am
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Backup (backup)

Сообщение max37online » Пн мар 23, 2020 11:07 pm

Всем доброй ночи!

Что-то странное у меня творится с backup...

Временная папка - создается, упаковывается.... и все!

В модуле - как- то так:

Working on backup.
Check settings Ok
Remove old temp directory /media/backup/temp/backup_temp ... OK
Create temp directory /media/backup/temp/backup_temp/ ... OK
Backup cms ... OK
Backup css ... OK
Backup img ... OK
Backup js ... OK
Backup languages ... OK
Backup lib ... OK
Backup modules ...


Лог:
22:57:25 Provider - LocalBackup
22:57:41 Provider - LocalBackup
22:57:48 Provider - LocalBackup
22:57:49 Working on backup
22:57:49 max_execution_time=1800
22:57:49 BACKUP_DIRS = cms,css,img,js,languages,lib,modules,scripts,templates
22:58:39 Copy dir cms
22:59:09 Copy dir css
22:59:10 Copy dir img
22:59:23 Copy dir js
22:59:29 Copy dir languages
22:59:30 Copy dir lib
22:59:41 Copy dir modules
22:59:53 Copy dir scripts
22:59:53 Copy dir templates
23:00:09 Backup datadase
23:00:13 Packing /media/backup/temp/backup.tgz

Хранилище - пробовал ftp, затем пробовал примонтированную шару (т.е. - local) - итог один.

Т.е. - не происходит перенос упакованного бэкапа в хранилище. Если его вручную перекинуть в хранилище - модуль его видит. Архив -нормальный, распаковывается... Сначала думал что зря выбираю в настройках ВЫБРАТЬ ВСЕ, Сделал ВЫБРАТЬ ПО-УМОЛЧАНИЮ. Но все тоже самое...
Подскажите пож-ста, где копать?
newz20
Сообщения: 172
Зарегистрирован: Пт апр 06, 2018 9:40 am
Благодарил (а): 93 раза
Поблагодарили: 93 раза

Re: [Модуль] Backup (backup)

Сообщение newz20 » Ср мар 25, 2020 8:57 am

max37online писал(а):
Пн мар 23, 2020 11:07 pm
Всем доброй ночи!

Что-то странное у меня творится с backup...

Временная папка - создается, упаковывается.... и все!

В модуле - как- то так:

Working on backup.
Check settings Ok
Remove old temp directory /media/backup/temp/backup_temp ... OK
Create temp directory /media/backup/temp/backup_temp/ ... OK
Backup cms ... OK
Backup css ... OK
Backup img ... OK
Backup js ... OK
Backup languages ... OK
Backup lib ... OK
Backup modules ...


Лог:
22:57:25 Provider - LocalBackup
22:57:41 Provider - LocalBackup
22:57:48 Provider - LocalBackup
22:57:49 Working on backup
22:57:49 max_execution_time=1800
22:57:49 BACKUP_DIRS = cms,css,img,js,languages,lib,modules,scripts,templates
22:58:39 Copy dir cms
22:59:09 Copy dir css
22:59:10 Copy dir img
22:59:23 Copy dir js
22:59:29 Copy dir languages
22:59:30 Copy dir lib
22:59:41 Copy dir modules
22:59:53 Copy dir scripts
22:59:53 Copy dir templates
23:00:09 Backup datadase
23:00:13 Packing /media/backup/temp/backup.tgz

Хранилище - пробовал ftp, затем пробовал примонтированную шару (т.е. - local) - итог один.

Т.е. - не происходит перенос упакованного бэкапа в хранилище. Если его вручную перекинуть в хранилище - модуль его видит. Архив -нормальный, распаковывается... Сначала думал что зря выбираю в настройках ВЫБРАТЬ ВСЕ, Сделал ВЫБРАТЬ ПО-УМОЛЧАНИЮ. Но все тоже самое...
Подскажите пож-ста, где копать?
Выбирай БД и конфиг файл, и проверь, объем может не успевать пройти из-за ограничений выполнения по времени.
За это сообщение автора newz20 поблагодарил:
Samir77 (Пт апр 24, 2020 10:53 am)
Рейтинг: 1.16%
Аватара пользователя
Alexander Znamensky
Сообщения: 160
Зарегистрирован: Ср дек 18, 2019 11:13 am
Откуда: Москва
Благодарил (а): 87 раз
Поблагодарили: 25 раз

Re: [Модуль] Backup (backup)

Сообщение Alexander Znamensky » Вс апр 12, 2020 2:45 pm

У меня тоже странно работает бэкап.....
Ошибок не выдает. Более того - подтверждает, что бэкап создан.
Но файл на яндекс диске появляется не всегда. С чем это может быть связано?

Если создавать резервную копию вручную, то может зависать несколько раза на одном из этапов резервирования (баз данных, скриптов, либо модулей). Несколько раза его перезапустить - и файл создается в конечном итоге. Размер обычно - 40-45 Мб.
СпойлерПоказать
Screenshot 2020-04-05 09.42.45.png
Screenshot 2020-04-05 09.42.45.png (827.06 КБ) 3556 просмотров
Screenshot 2020-04-05 10.24.22.png
Screenshot 2020-04-05 10.24.22.png (519.33 КБ) 3556 просмотров
Screenshot 2020-04-05 10.44.52.png
Screenshot 2020-04-05 10.44.52.png (418.16 КБ) 3556 просмотров
Screenshot 2020-04-05 11.42.13.png
Screenshot 2020-04-05 11.42.13.png (432.34 КБ) 3556 просмотров
Screenshot 2020-04-12 14.38.47.png
Screenshot 2020-04-12 14.38.47.png (417.45 КБ) 3556 просмотров
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
Аватара пользователя
andrey040670
Сообщения: 459
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: [Модуль] Backup (backup)

Сообщение andrey040670 » Вс апр 12, 2020 2:52 pm

На nginx'е может вылетать по таймауту.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Аватара пользователя
Alexander Znamensky
Сообщения: 160
Зарегистрирован: Ср дек 18, 2019 11:13 am
Откуда: Москва
Благодарил (а): 87 раз
Поблагодарили: 25 раз

Re: [Модуль] Backup (backup)

Сообщение Alexander Znamensky » Пн апр 13, 2020 2:12 pm

andrey040670 писал(а):
Вс апр 12, 2020 2:52 pm
На nginx'е может вылетать по таймауту.
И с этим что-то можно сделать? таймаут увеличить? Или от nginx'а отказаться?
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
Аватара пользователя
andrey040670
Сообщения: 459
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: [Модуль] Backup (backup)

Сообщение andrey040670 » Пн апр 13, 2020 6:47 pm

Я отказался.
Но можно конечно и с nginx'ом пошаманить, в /etc/nginx/sites-available/default
править или вставить блок, если его нет.

Код: Выделить всё

server {
	listen 80 default_server;
	listen [::]:80 default_server;
        send_timeout 800;
        proxy_send_timeout 800;
        proxy_connect_timeout 800;  
        proxy_read_timeout 800;
        ...

Ну и в /etc/php/7.0/ в php.ini тоже выставить max_execution_time = 800
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Аватара пользователя
mab
Сообщения: 46
Зарегистрирован: Сб янв 19, 2019 1:26 am
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Re: [Модуль] Backup (backup)

Сообщение mab » Вт апр 14, 2020 11:22 am

В настройках Максимально количество резервных копий: 10, а по факту хранится 11 копий! непорядок!
Ответить