Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Backup-script 
:(
    Опции темы
Gold Dragon
Дата 26.8.2013, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Собственно это больше не вопрос, а предложение к ksnk (автору скрипта https://github.com/Ksnk/Backup-script) малость модернизировать скрипт, выкинуть лишнее, сделать совместимым в PHP 5.4+, ввести мультиязычность, перевести всё на MySQLi (желательно с подготовленными выражениями), избавится от стареющего формата xml и т.п.и т.д. ^)

Даже имею желание помочь, если конечно  ksnk не против  smile 


PS
я просто окончательно созрел для использования этого скрипта в своей CMS.. У меня вроде всё есть, но вот система резервирования старовата. переделывать её не хочется, т.к. морально устарела.. А эта система вроде очень даже живая smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 26.8.2013, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Добавил ответ с "нового Винграда", что-то он кудато пропал :(

Я не против  smile Собственно, скрипт для внедрения в cmc находится в соседней ветке github'а -https://github.com/Ksnk/Backup-script/tree/...uild/cms-plugin - чисто бякап, без излишнего оформления. Если есть пожелания по интерфейсу - рад буду услышать. 

Есть возражение против MySqli, да и против остальных не mysql драйверов. 
В скрипте используется уникальная функция mysql_unbuffered_query, аналогов которой в других драйверах нет. Именно благодаря этой функции возможно не хранить весь результат в памяти mysql драйвера - php скрипта. Именно она позволяет работать с гигантскими дампами и не грохаться от недостатка памяти. Все остальные драйвера такой пользы лишены. 

Возможно я что то путаю и работа с большим объемами данных в других драйверах стала прозрачна и естественна, однако достаточно поискать подобные дамперы в гугле и сразу станет ясно, что НИКТО не умеет работать с другими (не mysql) драйверами на php, сохраняя возможность работы с большими дампами.

Добавлено @ 20:04
Насчет xml "устаревшего". Он используется внутренней утилитой сборки проекта и никак не появляется снаружи. Так что не очень понятно возражение ;) 

"Выкинуть лишнее". Что, например?

Переход на php 5.4 пока тоже под вопросом, так как на моих площадках пока 5.2 и 5.3. Я просто не смогу проверить :(

Это сообщение отредактировал(а) ksnk - 26.8.2013, 20:07


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 26.8.2013, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



ksnk, да никто не против, но (!)  smile 
Цитата

Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации.


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

А вот по коду замечаний много  ;) но всё решаемо конечно ... Прогнал через инспектор кода IDE, выдал много невалидности и несовместимости с PHP 5.4... ksnk, я малость "поломаю" твой код, если понравится, то буду только рад. Сейчас главное разобраться что основное, а что примеры smile


PS
Цитата(ksnk @  26.8.2013,  20:58 Найти цитируемый пост)
Добавил ответ с "нового Винграда", что-то он кудато пропал :(

не в обиду "создателям", но я так и не понял как этим пользоваться, т.е. как мне находить нужные материалы и отслеживать определённые темы :( И визуально не совсем "юзабилити", хотя наверное это дело привычки

PSS
и всё таки крутой форум.. через 30 минут я обнаруживаю эту тему уже в гугле по запросу smile




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 26.8.2013, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Цитата(Gold Dragon @  26.8.2013,  20:17 Найти цитируемый пост)
для универсальности предлагаю вывести в шаблоны. 

 Там 3 ветки "сборки". 
cms-plugin - чистое мясо дампера, без оформления. Шаблонов там некуда впихнуть.
allinone.Ajax - all-in-one сборка, все в одном файле, чтобы удобно было таскать с сервера на сервер. Это - системная утилита.
allinone - более старая версия этой утилиты. 

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





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 26.8.2013, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



ну я так понял за основу нужно взять "мясо" ?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 26.8.2013, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Цитата(Gold Dragon @  26.8.2013,  20:35 Найти цитируемый пост)
ну я так понял за основу нужно взять "мясо" ? 

Да, изначально предполагалось так. 

Можно сделать попытку разобраться в способе сборки smile Для этого потребуется раскрутить еще одну утилитку. Она значительно страшнее  smile 

Хотя, вероятно, разуно просто взять мясо, оно не сильно отличается от "исходника", разве что шапками. Сравнить и вставить изменения, если понадобится я смогу и сам. 
Вероятно, разумно будет стартовать совершенно новый проект, взяв за основу "мясной" файл.  


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 27.8.2013, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(ksnk @  26.8.2013,  21:40 Найти цитируемый пост)
Вероятно, разумно будет стартовать совершенно новый проект, взяв за основу "мясной" файл.   
согласен.. я тогда "мясо" капну и с ориентируюсь



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 30.8.2013, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(ksnk @  26.8.2013,  20:58 Найти цитируемый пост)
В скрипте используется уникальная функция mysql_unbuffered_query, аналогов которой в других драйверах нет. 

вообще-то есть mysqli::use_result И кажется это то что нужно


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 30.8.2013, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Цитата(Gold Dragon @  30.8.2013,  13:05 Найти цитируемый пост)
вообще-то есть mysqli::use_result И кажется это то что нужно

На первый взгляд - да, это оно.

В выходные посмотрю. 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 30.8.2013, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



ksnk, если это оно, а мне кажется така и есть (просто я не пользупался ещё этой частью новшеств MySQLi), но наверное тебе нужно озвучить всю логику резервирования. А то сейчас листаю код - он устарел ещё при царе Горохе  smile 

Думаю это будет явно новый проект ;)


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 30.8.2013, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Цитата(Gold Dragon @  30.8.2013,  13:19 Найти цитируемый пост)
А то сейчас листаю код - он устарел ещё при царе Горохе

Когда он писался, у меня были площадки на 4-ке. Я не очень уверен в функционировании поекта на 4-ке сейчас, так как у меня минимальная версия 5.2. Так что кто как, а кто и сейчас живет при царе Горохе. ;)
Совместимость со старым окружением - это хорошо или нет для системной аварийной утилиты?

Цитата(Gold Dragon @  30.8.2013,  13:19 Найти цитируемый пост)
 наверное тебе нужно озвучить всю логику резервирования. 

О чем вообще идет речь? Что там резервировать-то? Вся логика достаточно прозрачна.
Единственный, imho, тонкий момент при создании бякапа таблицы:
- я ее не блокирую, а просто запоминаю время последнего изменения.
- по окончании изготовления комплекта запросов - проверяю время последнего изменения таблицы. Если оно изменилось - таблица пересохраняется по новой.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ksnk
Дата 31.8.2013, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Да, действительно. Есть такая функция.

Добавил вариант для mysqli драйвера. Изменения - довольно тупая замена функций mysql_ на mysqli_ с модификацией порядка параметров. Возможно, нужно заменить на "объектный" вариант вызова, это позволит сэкономить немного букв в исходниках. Встроенные плейсхолдеры, вероятно тоже могут быть полезны.
Насколько я понял, у него (mysqli) получается полная совместимость с имеющимися базами и дампами, так что не вижу пока причины поддерживать mysql ветку.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 4.9.2013, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(ksnk @  31.8.2013,  15:57 Найти цитируемый пост)
Изменения - довольно тупая замена функций mysql_ на mysqli_ с модификацией порядка параметров

нужно перейти на использование подготовленных выражений.. Раз и навсегда избавимся от экранирования smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 4.9.2013, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



...escape_string у меня используется 3 раза. К функции select_db (надо бы посмотреть оно там нужно или нет...), в запросе  set names,  и при формировании  запроса insert с неизвестным, вообще говоря, количеством полей у insert. В каком из этих мест будет эффективно применить подготовленные выражения?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 4.9.2013, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(ksnk @  4.9.2013,  11:59 Найти цитируемый пост)
В каком из этих мест будет эффективно применить подготовленные выражения?
однозначно при формировании запросов: запрос отдельно, данные отдельно smile



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0971 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.