Полуночные приключения
Полночь. Только что закончился трёхчасовой марафон по восстановлению удалённых по ошибке страниц сайта…
Началось всё около девяти вечера, когда я с легкой руки решил схалявить и вместо нудного прощёлкивания записей через админ-панель сайта, зашёл в ПХП-МАЙ-АДМИНКУ набрал запрос “DELETE…” и… Осознание того, что произошло заняло у меня около минуты.
Были удалены 56 записей, хотя собирался я удалить оптом всего около четырёх. Рёбанный йот! Первая мысль – результат попытки схалявить исправить по-простому – научившись перемещаться в прошлое, найти бэкап или команду отмены в MySQL.
Первый вариант отпал. Третий тоже – оказалось команды Undo в мускуле нет. По крайней мере, если ваши таблицы типа MyISAM. Остался второй вариант.
Само собой перед тем, как лихачить в ПХП-МАЙ-админке никакого бэкапа я не сделал, хотя это заняло бы максимум минуту. Ну а честно, кто-нибудь из вас бы сделал? То-то и оно. Вся надежда на доброго и мудрого хостера… После пяти минут ожидания саппорт-гай “обрадовал меня” – 15 баксов и свеженький воскресный бэкап ваш.
Ну уж нет, дудки. Я так просто не сдамся. Что за ***, я в России живу или где? Какие 15 баксов, надо искать выход. Само собой существует четвертый вариант. Просто он не такой очевидный, а самое главное не такой халявный как первые три. Что-ж, придется поскрипеть мозгами и восстановить утраченное.
Сначала иду в Сапу. Она, родненькая, почти единственная, кто знает, какие страницы были на сайте. Конечно это знают и Яндекс и Гугель, но они так просто мне не отдадут драгоценные УРЛы. А Сапа отдала.
Скажу честно: так откровенно я не говнокодил уже давно. Правила нехитрые: максимум две функции на программу (пишу на Яве, т.к. ПХП до сих пор не выучил), переменные обзываются одной буквой или буква+циферь. Хули, 26 букв, а с циферями – 260 переменных. В свое время я запрограммировал калькулятор, чтобы он рисовал три-дэ графики, уложившись в 26.
Простыня получилась меньше, чем на экран и URLы были готовы. Да, забыл сказать. Попутно я проверял осталась ли страница с таким адресом на сайте. Точнее (!осталась). Итого, получилось, я одним запросом удалил 56 записей. Нормально так, по-русски, нам жалко что-ли!?
Где достать страницы? На ум приходят два кандидата – Яша и Гоша. Оказалось, Гоша так просто кэш не отдаёт – подсовывает 403 и всё тут. Ну а Яша оказался посговорчивее и отдал мне кэш прямо в виде одного длинного Sтринга.
Дальше дело нехитрое – вырезаем заголовки и содержание и вот! – часть данных для базы уже готова. Дальше осталось выдрать из лап HTML-я даты и ещё кое-какую информацию и к концу двенадцатого часа SQL-дамп для загрузки в базу был готов. Всего удалось восстановить 51 страницу из 56, остальных пяти не было ни у Яши, ни у Гоши.
За три часа кодинг-марафона мне удалось почувствовать себя Марком Цукербергом, когда он в самом начале фильма (Социальная Сеть Финчера) взламывает базу универа. Да, всё на самом деле так, как и показано в фильме. Стопудово, проверил лично.
