Wayback machine downloader. Восстанавливаем сайт из веб-архива.

Случалось полностью потерять все данные сайта? Актуальные версии файлов, бекапы, бекапы бекапов (вы ведь их делаете, да?)… Полная потеря данных, конечно же явление редкое, но и такое у людей происходит. В такие моменты серьёзно выручает возможность оперативно восстановить хоть что-то, что бы вернуть ресурс в работу. Одним из мест откуда можно быстро восстановить данные является веб-архив. А для него есть wayback machine downloader — отличная утилита, которая может быть установлена в том числе и на сервер.

1. Для установки нам потребуется ruby (команда в зависимости от дистрибутива):

yum install ruby
dnf install ruby
apt-get install ruby

2. Ставим саму утилиту. Установка не требует прав суперпользователя, так как это один из гемов ruby:

gem install wayback_machine_downloader

3. Скачиваем нужный нам сайт:

mkdir ~/sites/
cd ~/sites/
wayback_machine_downloader http://supersite.com

Собственно, всё. Скачанные файлы будут доступны в ~/sites/websites/supersite.com/

У утилиты есть несколько параметров, которые могут помочь при скачивании ресурса:

Параметрами -f (--from) и -t (--to) можно указать первый и последний таймштампы в рамках которых будут скачаны файлы. Таймштамп можно взять из URL при просмотре веб-архива.

Параметр -o (--only) позволит указать фильтр, и при скачивании будут сохранены только те страницы, где вхождение заданное в фильтре используется.

Параметр -x (--exclude) задаёт исключения. Совпадающие с указанным здесь вхождением адреса не будут скачаны.

Дальнейшая обработка скачанного завивит от задач. Можно сразу же скопировать данные в директорию для файлов сайта, можно внести необходимые изменения в файлы, например, с помощью sed…

Сделаем бекап текущего состояния:

cd ~/sites/websites/
cp -arvp supersite.com supersite.com.backup

Переносим сайт с http на https:

cd ~/sites/websites/supersite.com
find ./ -type f -iname '*.html' -exec sed -i 's/http:/https:/g' {} \;

Удаляем код гугл-аналитики (осторожно, код может измениться и инструкция не сработает корректно, напишите в комментарии если так произошло, рассмотрим ваш случай):

cd ~/sites/websites/supersite.com
find ./ -type f -iname '*.html' -exec sed -i '/var _gaq/,/)()/d' {} \;
find ./ -type f -iname '*.html' -exec sed -i '/google_ad_client/,/pagead\/show_ads.js/d' {} \;

Удалем код Liveinternet:

cd ~/sites/websites/supersite.com
find ./ -type f -name '*.html' -exec sed -i '/<!--LiveInternet counter-->/,/<!--\/LiveInternet-->/d' {} \;

В общем, с помощью sed можно сделать практически всё что угодно — удалить, модифицировать, вставить нужную информацию. Разумеется, так как утилита вызывается из командной строки, её без проблем можно использовать в скриптах.

Пример восстановленного сайта — nokia-faq.ru (был выбран случайно, исключительно из академического интереса тогда). Весь процесс — скачиваем, обрабатываем sed’ом, очищаем лишнее — занял у меня примерно 30 минут, так что в слуаях когда потеряно всё, а восстановить доступность ресурса нужно быстро и хоть как-то, утилитой wayback machine downloader стоит попробовать воспользоваться.

One thought on “Wayback machine downloader. Восстанавливаем сайт из веб-архива.

  1. Могли бы помочь? Скачал сайт с помощью этой утилиты. Всё прекрасно. А как можно теперь запустить этот скачанный сайт локально, чтоб всё работало на локальной машине, а не обращалось при переходе по ссылкам во внешний мир и — естественно — ничего толком не работает.
    Можно ли так сделать? Апач есть. Что и как нужно сделать, чтоб можно просматривать сайт локально?
    Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *