Ошибки при распаковке резервных копий

Ошибки при распаковке резервных копий

от Алла Нестеренко -
Количество ответов: 20

Здравствуйте, 

сервер виртуальный на хостинге FirstVds, ОС CentOS 7,  php 5.6.3  mysql 5.5.52-1.el7

  •  VDS-KVM-Форсаж
  • Параметры : 2 ядра процессора, 2 Гб оперативной памяти, 150 Гб диск
Поставила moodle 3.1.4+  и хочу распаковать там резервные копии курсов, сделанные в 2.6

Обновлять moodle не хочу - я с 2008 года обновлялась, переезжала на разные серверы, пропустила, видимо, какие-то ошибки (я сама себе админ, это - не моя профессия), на старом сайте есть хранилища, куда я не могу попасть, в  moodledata много лишней информации, которая ест память и разобраться с ней сложно. Короче я пытаюсь распаковать резерные копии вместе с пользователями.

Получаю две неприятности:

1) если распаковывать курс вместе с интерактивными лекциями, он выдает ошибку записи в базу и указывает в mysql надо увеличить параметр max_allowed_packet

Увеличили до 128 Мб, не помогло. Путем экспериментов я выяснила, что без интерактивных лекций все распаковывается. Но 

2) Распаковываются данные не всех пользователей, а только некоторых.

Поскольку раньше мне выдавалась при распаковке базы ошибка "пользователь guest" не может быть создан (точно не помню формулировку), я погуглила залезла в архив резервной копии и удалила тег <user>    </user> , описывающий этого пользователя, из файла user  И запихнула обратно в архив. Все равно распаковывает только нескольких пользователей. Пробовала версию 2.7 (думала на ней распаковать, потом обновиться) - такая же история.

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers

Архив в какой версии Мудл сделан? Какой размер архива? Что за интерактивные лекции? Флеш, видео?

залезла в архив резервной копии и удалила тег <user>    </user> , описывающий этого пользователя, из файла user  И запихнула обратно в архив.

Если архив в новом формате .mbz (с "двойной" упаковкой), то этого делать нельзя, т. к. в архиве содержится индексный файл .ARCHIVE_INDEX с указанием размеров всех файлов архива, например: users.xml    f    88828    1399928599

Размер users.xml - 88 828 байт. Если вы файл редактировали, то размер изменился, отсюда ошибка может быть. Имеет значение ещё, чем упаковывали.

Нужно точное описание ошибки, а лучше - архив резервной копии, чтоб эксперимент провести.

Вообще, любое обновление системы лучше делать не путем востановления курсов из резервных копий, а обновлением кода+обновление базы данных. А moodledata чистится элементарно, есть плагин в каталоге Мудл - удаление неиспользуемых файлов в filedir.

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Спасибо. 

Попробовала в исходной директории почистить moodledata (у меня ее зовут moodledata_p) . Получила ошибку (в прицепленном файле).  Я бы обновила ПО и базу, но не хочется не тянуть с собой старые ошибки, буду благодарна, если подскажете, как это исправить.

Резервные копии, в которых распаковываются не все пользователи, имеют размер разный, от 8 до 100 МБ.

Там два варианта. Либо ошибка записи в базу, либо распаковываются не все пользователи. 

Приложение screen_file trash.jpg
В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers

Эта ошибка о том, что у вас что-то не так в консерватории настроено улыбаюсь

Не может быть такой путь к каталогу автоматически создаваемых резервных копий: http://moodledata_p/backups

Поставьте галку ignoreautomatedbackupfolder (игнорировать папку рез. копий) в настройках этого плагина и запустите отчет опять.

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Точно, в консерватории был глюк улыбаюсь. Я просто пытаясь другую ошибку устранить, когда-то задала папку для резервок. Убрала, все сработало.

Хочу привести в порядок этот сайт, потом обновлять. Еще два вопроса.

1) Я не могу открыть директорию личных файлов в разделе резервных копий. Получаю ошибку "Не удается найти данную запись в таблице course базы данных".  И у меня там довольно много файлов (может, их и нет на самом деле, но все равно неудобно).

2) У меня сейчас 2.6.  Если обновляться до 3.1.4+  , как лучше поступить - обновиться еще раз-другой внутри "двойки" или этого не стоит делать и лучше сразу перейти на нужную версию? Помню, что когда я переходила с единицы на двойку, это было как-то непросто. Но тогда поддержки на русскоязычных форумах вообще не было.

3) Собственно, с чего начались все мои неприятности и возникла необходимость срочно обновляться - я поставила в несколько курсов SCORM-пакеты из  ISPRING . Они у меня нормально работали на другом сервере (он на 3.0). Правда, на том сервере есть свои системные программисты и никто толком ничего не понимал про те пакеты, однажды слетели настройки сервера и ничего не работало, они просто восстановили старые настройки, не вдаваясь в подробности.  

Когда я поставила пакеты на курсы (такие же), расположенные на моем сервере в moodle 2.6 , они стали неконтролируемо забивать память (директорию temp/backups), причем продолжали ее забивать, даже когда я сделала их невидимыми (т.е. их никто не включал). И поэтому я перехожу на "тройку". Но если у Вас есть в этой связи соображения (например, о том, что вообще почитать про СКОРМ-пакеты), посоветуйте, пожалуйста. 

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers
  1. Про это поподробнее и желательно скриншот, а то непонятно, что за директория и когда выдает ошибку.
  2. Во-первых, если обновляться, то уже на 3.2.1, зачем вам 3.1.4? Во-вторых, с 2.6 нужно сначала обновиться до 2.7.х (на последний релиз в этой ветке), а потом уже можно сразу на 3.2.х. И про поддержку вы не правы. Тут уйма тем по обновлению: поиск
  3. Про SCORM почти ничего сказать не могу, не используем вовсе. Это обыкновенный архив, который Мудл распаковывает и выдает его содержимое на страницу. Посомотрите в его настройках параметр Частота автообновления, может это влияет. Или в каталог temp/backups было настроено сохранение резервных копий, а в админке не установлено количество сохраняемых копий. Не могу сказать точно, не видя систему. Это похоже на лечение через экран телевизора улыбаюсь
В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

1. Открываю курс - восстановить - "личная область пользователя резервных копий" (у меня адрес такой: http://jlprojmoodle.org/backup/restorefile.php?contextid=8 ) - управление файлами резервных копий - получаю ошибку (см. скриншот).

2. У меня виртуальный сервер на FirstVds . Они выше php5.6.3 не ставят. Для 3.2.1 нужно  php 5.6.5  . Поэтому я могу обновиться только до 3.1.4+

Наверно, теперь уже уйма тем по обновлению. Просто я обновлялась очень давно.

3. Вот в "тройке" можно задавать частоту автообновления, а в "двойке" я не нашла такой возможности. Может, плохо настроила пакет. Посмотрю еще.

Приложение screen_rez_error.jpg
В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers
  1. Без доступа к сайту и базе данных это не вылечить. Мудл ругается на отсутствующий в filedir файл, а запись о нем в базе данных есть. Поэтому и страница не открывается.
  2. Меняете в четырех файлах одну циферку и устанавливаете 3.2.1+ от 09.02.2017 на РНР 5.6.3. А там и хостеры подтянутся и обновят РНР.

Это фрагмент phpinfo:
001

Ранее установленный сайт. Всё работает, плагины устанавливаются.

002

Свежеустановленный сайт:

003

Так что, не думаю, что между РНР 5.6.3 и 5.6.5 есть существенные отличия. А проблемы, если они появятся, будем лечить по мере их возникновения улыбаюсь

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Последнюю версию поставила, Скорм-пакеты тоже, вроде пока работает. Еще вопрос. На моем хостинге нас конкретно пугают тем, что Хром не будет открывать сайты по http://, по крайней мере, будет писать, что они опасные. Некоторые мои пользователи говорили, что у них один из моих сайтов выдает такое предупреждение. 

Мне поставили SSL-сертификаты (бесплатные). Все открывается по https:// , а сайт в moodle  - отображает страницу очень криво. Я обратилась в поддержку, они ответили следующее:

Проблема с данным сайтом из-за смешанного содержания на нем: 
Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure image 'http://jlprojmoodle.org/theme/image.php/boost/core/1486892596/i/course'. This content should also be served over HTTPS. 
jlprojmoodle.org/:1 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure image 'http://jlprojmoodle.org/theme/image.php/boost/core/1486892596/t/collapsed_empty'. This content should also be served over HTTPS. 
jlprojmoodle.org/:1 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/lib/javascript.php/1486824425/lib/requirejs/require.min.js'. This content should also be served over HTTPS. 
yui_combo.php:12 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/theme/yui_combo.php?m/1486824425/core/event/event-min.js&m/1486824425/filter_mathjaxloader/loader/loader-min.js'. This content should also be served over HTTPS. 
require.min.js:1 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/lib/requirejs.php/1486824425/core/first.js'. This content should also be served over HTTPS. 
https://player.vimeo.com/video/31078504 Failed to load resource: the server responded with a status of 403 (Forbidden) 
yui_combo.php:12 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure stylesheet 'http://jlprojmoodle.org/theme/yui_combo.php?m/1486824425/calendar/info/info.css'. This content should also be served over HTTPS. 
require.min.js:1 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/lib/javascript.php/1486824425/lib/requirejs/jquery-private.js'. This content should also be served over HTTPS. 
yui_combo.php:12 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/theme/yui_combo.php?m/1486824425/calendar/info/info-min.js'. This content should also be served over HTTPS. 
require.min.js:1 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure script 'http://jlprojmoodle.org/lib/javascript.php/1486824425/lib/jquery/jquery-3.1.0.min.js'. This content should also be served over HTTPS. 
yui_combo.php:12 Mixed Content: The page at 'https://jlprojmoodle.org/' was loaded over HTTPS, but requested an insecure stylesheet 'http://jlprojmoodle.org/theme/yui_combo.php?3.17.2/cssbutton/cssbutton-min.css'. This content should also be served over HTTPS. 

Посоветуйте, что с этим делать и надо ли что-то делать?

И по поводу некорректных ссылок на моем сайте, из-за которых надо лезть в базу? Может, подскажете, в какие таблицы надо лезть? Или надо просто искать это по дампу? Или еще есть варианты? По SSH я не работаю, я ее боюсь улыбаюсь. А базу лазать приходилось (хотя тоже боюсь).

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers
Все открывается по https:// , а сайт в moodle  - отображает страницу очень криво

А вы в config.php поменяли адрес сайта в CFG->wwwroot? Пропишите там CFG->wwwroot = 'https://jlprojmoodle.org'

Потом зайдите на сайт по адресу https://jlprojmoodle.org/admin/tool/replace и сделайте замену старого адреса на новый, т .е. http://jlprojmoodle.org нужно найти в базе данных и заменить на https://jlprojmoodle.org

После этого зайдите по ФТП в moodledata и удалите папки cache и localcache. Обновите страницу в браузере и посмотрите результат.

Вот картинка, где я на сайте просто в Firebug добавил в УРЛ буковку s и страница сразe изменилась:

site

Может, подскажете, в какие таблицы надо лезть? Или надо просто искать это по дампу?

Нужно знать, что там было в этих личных файлах и поискать записи в БД об этих файлах. Потом решать, что делать. Нужно на месте разбираться, так всё не объяснишь.

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Спасибо, по первому пункту справилась.

По второму - извините, я не знаю правил форума. Есть какой-то лигитимный способ проконсультировать по поводу того, что у меня в базе происходит? Просто я когда-то давно, когда обновлялась с 1 на 2, получила конфликт с пользователем admin (что там было с шифрованием паролей, кажется), и я завел пользователя с другим именем под глобальными админскими правами. Подозреваю, что с этим связаны неприятности, но это, конечно, гадание на кофейной гуще. 

Вот если есть какой-то способ проконсультироваться на своем сервере, напишите, пожалуйста.

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers
Есть какой-то лигитимный способ проконсультировать…

Не понял вопроса улыбаюсь

Я говорю о том, что нужен доступ к телу сайту, БД. Потому что объяснять можно долго, что делать.

Смысл в чем: вам нужно вспомнить названия файлов, кот. вы загружали в личку (если именно эта страница выдает ошибку), по названиям файлов поискать в БД записи и удалить их (1 вариант). Тогда при открытии страницы профиля Мудл не должна ругаться на отсутствующие файлы.

Второй вариант сложнее: записи не удалять, а вернуть на своё место в каталог /moodledata/filedir потерянные файлы.

Если названия файлов не помните, нужно искать в отчетах о деятельности (в логах) все записи о загрузке вами файлов в личку и потом уже или вариант 1, или 2.

UPDATE: у вас ошибка связана с отсутствующим архивом рез. копии курса в личной области. Поиск файла упрощается.

Спасибо, по первому пункту справилась.

Пожалуйста. Я бы ещё настроил редирект с http на https, чтобы страница http://jlprojmoodle.org/ вообще не открывалась с ошибкой (По соображениям безопасности разрешены только HTTPS-соединения.), а сразу перенаправляла на https://jlprojmoodle.org

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Про редиректы я уже сообразила.  Настроила. 

Поискала в дампе файлы из резервок, которые не открываются  Нашла, буду убирать, просто на это время уйдет.

Еще вопрос - тоже, наверно, очень не четкий. На старом сервере у меня не удалялись резервные копии, хотя было настроено удаление. На новом они, похоже, не создаются автоматически.

От чего это может зависеть, где искать проблему? cron.php  я запускала. 

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Вы cron запускали вручную? Он должен быть настроен на регулярный запуск, поскольку резервные копи создаются в определенное время, и вы могли просто не попасть в нужное время

В ответ на Vadim Dvorovenko

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

Сначала запускала вручную, потом настроила. Не могу понять, как устроено копирование.  Новую резервную копию с удаленной старой нашла только на одном курсе.  На остальных либо новых резервок нет (а они обновлялись), либо старая копия не удалилась.

У меня стоит режим автоматического копирования. Я из пояснений поняла так, что если режим стоит, то и хром не нужен. На прошлом сервере я не создавала отдельно хрон, резервные копии создавались, но старые не удалялись.

Очень хочется как-то понять эту логику.

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers

Режим автоматического резервного копирования НЕ может работать без запуска cron

Логика простая: указываете каталог для хранения автоматически создаваемых рез. копий, очень желательно - вне пределов moodeldata

Потом указываете число хранимых копий и пропуск курсов, не изменявшихся после последнего бэкапа.

Cron запускается в указанный вами день и время, «шерстит» курсы, подлежащие рез. копированию архивирует, складирует в каталог, лишние (старые, сверх указанного кол-ва) удаляет, неизменявшиеся курсы пропускает.

На почту админу отсылает сообщение такого вида:

Описание
==================================================
  Курсы; 909
  OK; 194
  Пропущено; 715
  Ошибка; 0
  Не завершено; 0
  Предупреждение; 0
  Отложенное автоматическое резервное копирование; 0
  Резервное копирование успешно окончено

Весь этот процесс у меня на сайте начинается в 00:00 воскресенья и занимает 3,5-4 часа

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Алла Нестеренко -

То есть, если я настраиваю крон на ежечастную работу (потому что у меня форумы, задания  и т.п., и нужно оперативно это обрабатывать), а автоматическое резервное копирование указано, например, раз в неделю, то именно в этот раз крон запустит процесс копирования и отправит отчет (если я его в планировщике потребую)? Верно я понимаю?

И еще вопрос - берет ли moodle относительные пути к папкам. Например, если я в одном каталоге лежат jlprojmoodle.org (папка мудла), moodledata и созданный мною каталог backup , могу ли я указать относительный путь и какой именно (это же зависит от директории, из которой запускается скрипт резервного копирования, да?)

В ответ на Алла Нестеренко

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers
Верно я понимаю?

Да. cron занимается рассылкой уведомлений, дублирует сообщения (личные и форумные на мыло пользователям), переносит оценки, чистит курсы, пользователей и т. д., и т. п. Поэтому обязательно нужно настроить его автоматический запуск каждые Х минут. Х зависит от того, насколько активно используется ваш сайт. Иногда можно и раз в полчаса запускать, а иногда - каждые 5 минут или даже каждую минуту.

При включении автоматического рез. копирования это задание тоже будет выполняться кроном в указанный день и время. При необходимости можете хоть каждый день делать, в настройках же можно отметить все дни, а не какой-то один.

могу ли я указать относительный путь

Что вы подразумеваете под относительным путем? Допустим, сайт на хостинге установлен в каталог /home/имя_пользователя/public_html/jlprojmoodle.org, каталог moodledata НЕ должен быть в папке jlprojmoodle.org, но и не обязан быть в public_html. Его можно просто положить в домашнюю папку: /home/имя_пользователя/ и в любую другую спрятать, но в пределах /home/имя_пользователя/, а выше вас и не пустит хостинг.

Точно так же рез. копии можно хранить в специально созданном каталоге /home/имя_пользователя/backup

Особенность хостингов в том, что все процессы веб-сервера запускаются от аккаунта владельца, поэтому веб-сервер имеет доступ к домашнему каталогу пользователя и всем вложенным.

 

В ответ на Vadim Tabunshchik

Re: Ошибки при распаковке резервных копий

от Alexey Piguzov -
А moodledata чистится элементарно, есть плагин в каталоге Мудл - удаление неиспользуемых файлов в filedir.
Вадим, подскажите что за плагин, поиском не смог найти на сайте. Тоже обновляюсь с 2.3 еще наверное постепенно, почистить хочу и базу и moodledate
В ответ на Alexey Piguzov

Re: Ошибки при распаковке резервных копий

от Vadim Tabunshchik -
Изображение пользователя Developers

По скрину от Аллы можно узнать: Администрирование -> Отчеты -> Filetrash

Значит плагин имеет название report_filetrash: File trash (Orphaned file locator)

На версию не обращайте внимания, я на 3.2.1 устанавливал, работает.

Плагин выводит отчет о всех «потерянных» файлах. Это файлы, которые не указаны в базе данных Moodle, но присутствуют в папке данных Moodle (filidir) и папке резервных копий (backup), если она была указана в админке.

Смысл устанавливать этот плагин имеется только в том случае, если обновляли систему с 1.х на 2.х. Если с самого начала устанавливали 2.х, то «потерянных» файлов в filidir быть не должно (при отсутствии ручного вмешательства в этот каталог). Плагин одноразовый - поставил, почистил и удалил. улыбаюсь