Сделать стартовой
 
Панель управления
 
Логин :  
Пароль :  
   
    Регистрация на сайте
Напомнить пароль?
  Навигация по сайту  
 
chatic.ru
Наш чат
Форум
Развлечения
Игры онлайн
Все новости
Статейки
Моды для VOC++
Мафия - правила игры
VOC_ICQ_GATE - описание
Чат-Клиент - описание
USERS_RECOVERY - описание
товар "создание клана"
товар "градиентный ник"
геоопределение юзера
Мод "Слапы"
Мод "флеш игры на поинты"
 
  Это интересно  
 
 
  Друзья сайта  
   
Главная » Мод для VOC++ автоматический бекап и восстановление профилей


Мод для VOC++ автоматический бекап и восстановление профилей
 

Мод для VOC++ USERS_RECOVERY


Мод предназначен для автоматического полного бекапа профилей юзеров и автоматического восстановления в случае "слета" профиля.


Как обычно все начиналось с того, что хотели написать маленький модик аля "лиж бы работало", но потом увлеклись немного
На всю кажущуюся простоту, мод получился очень сложным и серьезным. Полностью исключены риски забекапить испорченный профиль. Перед бекапом профиль проходит сложную проверку на работоспособность. В бекап может попасть только 100% рабочий профиль.

Что получилось судить Вам:

Начнем по порядку.
Что идет в комплекте мода:
1- Файл инсталлятора.
2- Файл который нужно поставить на запуск в крон (не обязательно. Читать ниже)
3- Сам мод

Установка мода.
1- Копируем файл инсталлятора в корень чата, запускаем его через браузер.
* Никаких настроек базы производить не нужно. Мод работает с тем же классом что и чат. Тоесть инсталлятор создаст табличку рядом с родными смайлами, используя настройки базы чата.
2- Удаляем файл инсталлятора из корня чата.
3- Копируем папку с файлами мода в папку DATA чата.
4- добавляем одну строку в файл logout.php (не обязательно. Читать ниже)
5- Добавляем в крон запись которая будет запускать раз в сутки (ночью) один из файлов мода. (не обязательно. Читать ниже)
На этом установка закончена.

Настройка мода.

В конфиге мода можно настроить различные условия для бекапа. (причем отдельно настраивается бекап по кнопке и по крону)
Бекап по кнопке имеет следующие настройки:
1- Какой лог о работе бекапа Вам нужно писать.
notify - все сообщения системы восстановления. (используется только для отладки, или контроля работоспособности мода)
warning - сообщения о найденном поврежденном профиле и его восстановлении. (оптимальный вариант)
error - только сообщения системы восстановления

2- Время в секундах которое должно пройти между входом и выходом юзера из чата, чтобы сработал бекап (Сделано для того чтобы не дергать базу когда тупые юзеры играются чатом входя и выходя из него. Наверное многим это знакомо)
3- Время в секундах которое должно быть у юзера чтобы его бекапили. (Берется из online_time (Время проведенное в чате) Сделано для того чтобы НЕ бекапить новичков которые вошли в чат, сказали что чат гавно и тут же вышли. Уверен что тоже знакомо)
НЕ ЗАРЕГИСТРИРОВАННЫЕ юзеры не бекапятся НИКОГДА!
Тоесть чтобы при выходе из чата юзеру сделали бекап, ему нужно быть зарегистрированным, не быть новичком, и между его входом и выходом должно пройти ххх секунд.
Юзеров которые не прошли под установленные требования, мод считает мусором и не пишет в базу.

Бекап по крону.
Бекап по крону может работать в двух режимах.
1- Бекап и восстановление если нашли "слетевший" профиль. (с такими же условиями как и по кнопке. Тоесть не новичек, зарегистрированный и т.д.)
2- Бекап, восстановление, и очистка базы от старых записей.

Настройки бекапа по крону:
1- Какой лог о работе бекапа Вам нужно писать (те же режимы как и у бекапа по кнопке, но лог пишется отдельный. Тоесть у бекапа по кнопке режим лога может быть warning а у бекапа по крону например error)
2- Использовать очистку базы от старых записей или нет.
3- Через сколько дней считать что запись старая. (например 30 дней)

Как все это будет работать.

Бекап профилей делается 3 способами на (Ваш выбор).
1 способ - когда юзер нажимает в чате кнопку "выход". Для этого нам и нужна одна строка в logout.php
Юзер нажимает на кнопку выход. При этом проверяется жив ли профиль юзера.
Если жив, то проверяются условия из конфига (зареген, не новичек, был больше ххх секунд в чате)
Если все условия прошли делаем бекап.
Если НЕ жив профиль, то ищем есть ли прошлый бекап в базе. Если есть, восстанавливаем профиль из бекапа.
Во всех других случаях ничего не делаем.

Тоесть можно пользоваться только этим способом.(без запуска скрипта из крона)
Как уже проверенно на практике работает на ура и без участия Админа.
Единственный минус, никто не чистит базу от старых записей.

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


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

3 способ - и по кнопке выход и по крону.
В описании не нуждается. Это первый и второй способы одновременно.

примеры кусочков лога мода из реального чата:
Лог бекапа по кнопке "Выход" (уровень - notify)
Цитата
2009-03-23 16:05:03 - Сохранение. Профиль юзера Bort222 сохранен в базе.
2009-03-23 16:05:06 - Сохранение. Профиль юзера id=2 поврежден. Автовосстановление.
2009-03-23 16:05:06 - Восстановление. Профиль юзера Bort222 восстановлен.

2009-03-23 16:11:03 - Сохранение. Профиль юзера БарБи сохранен в базе
2009-03-23 16:18:08 - Сохранение. Профиль юзера Гавр сохранен в базе
2009-03-23 16:18:41 - Сохранение. Профиль юзера Санек не сохранен. Юзер без регистрации.
2009-03-23 16:19:48 - Сохранение. Профиль юзера кася сохранен в базе
2009-03-23 16:26:30 - Сохранение. Профиль юзера emty не сохранен. Был в чате меньше 300 сек. Новичек. online_time < 500.
2009-03-23 16:29:33 - Сохранение. Профиль юзера Данилик сохранен в базе
2009-03-23 16:31:40 - Сохранение. Профиль юзера Эмо-Кид сохранен в базе
2009-03-23 16:33:47 - Сохранение. Профиль юзера ДРИФТ не сохранен. Был в чате меньше 300 сек.
2009-03-23 16:35:40 - Сохранение. Профиль юзера никитка сохранен в базе
2009-03-23 16:37:35 - Сохранение. Профиль юзера НиЛтоS сохранен в базе
2009-03-23 16:38:10 - Сохранение. Профиль юзера Lagond сохранен в базе
2009-03-23 17:22:34 - Сохранение. Профиль юзера Чичи не сохранен. Новичек. online_time < 500.


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

Лог бекапа по запуску из крона (уровень - notify)

Цитата
2009-03-23 13:16:11 - Начало работы крона.
2009-03-23 13:16:11 - Очистка базы от редко появляющихся пользователей.
2009-03-23 13:16:11 - Обработка пользовательских файлов
Сохранение. Профиль юзера кася обновлен в базе.
Сохранение. Профиль юзера АнТи_РаНеТкА обновлен в базе.
Сохранение. Профиль юзера tymbewka не сохранен. Новичек. online_time < 500.
Сохранение. Профиль юзера TrAeN обновлен в базе.
Сохранение. Профиль юзера z123-a5 не сохранен. Новичек. online_time < 500.

………..

Сохранение. Профиль юзера окровавленая обновлен в базе.
Сохранение. Профиль юзера ДиМАСя обновлен в базе.
Сохранение. Профиль юзера DarkSektor не сохранен. Новичек. online_time < 500.
Сохранение. Профиль юзера Жека13 обновлен в базе.
Сохранение. Профиль юзера закрутим обновлен в базе.
Сохранение. Профиль юзера Drakoscha id=4870 поврежден. Автовосстановление.
Восстановление. Профиль юзера id=4870 восстановлен из базы данных.

#========== Отчет ==========
# Записей в базе данных до очистки - 1127.
# Записей в базе данных после очистки - 1127.
# Найдено профилей пользователей - 2697.
# Сохранено/обновлено профилей в базе - 1128.
# Найдено поврежденных профилей - 1.
2009-03-23 13:16:11 - Закончил работу.


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

А вот полный лог бекапа по запуску из крона (уровень - warning)

Цитата
2009-03-23 18:43:58 - Начало работы крона.
2009-03-23 18:43:59 - Очистка базы от редко появляющихся пользователей.
2009-03-23 18:43:59 - Обработка пользовательских файлов
#========== Отчет ==========
# Записей в базе данных до очистки - 1129.
# Записей в базе данных после очистки - 1129.
# Найдено профилей пользователей - 2722.
# Сохранено/обновлено профилей в базе - 1133.
# Найдено поврежденных профилей - 0.
2009-03-23 18:44:00 - Закончил работу.


 

   
 
 
  Интересные сайты  
   
  Популярные темы форума  
 
»   Игра Обломись
»  ЭМО
»  Сходка города БАЛАКОВО !!!
»  Грузия, Осетия, Россия
»  любимые строчки из песен
»  Рок или рэп
»  Анеки обо всем
»  Наша поэзия
»  VIP статус
»  Жизнь...
»  Анкета новичка
»  ШАМАНЫ!
»  СХОДКА Балаково 10.05.08 !!!!!!!!!
»  Как давно вы в чате?
»  Конкурс красоты
»  Магазин.
»  Саратов. Встреча Чатлан 17.02.08
»  гОвнО-сдесь можно писать что угодно!
»  Серега Зверев
»  Суицид
 
  Облако тегов  
  колонии чат Новости Саратов VOC Конкурсы КАМАЗ  
 
Главная страница | Регистрация | Статистика |
Все о чатах и чат порталах.
© 2006 - 2015
 
 

Рейтинг@Mail.ru
неформальное общение
портал знакомств и развлечений.