Страницы

четверг, 1 мая 2014 г.

Perpetum reposita. Вечное хранение MusicBrainz

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

Вечное хранение MusicBrainz - открытой базы данных музыкальной метаинформации


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

Для скачивание дампов базы данных MusicBrainz, с сайта, придётся написать небольшой скрипт, чтобы не скачивать устаревших данных.

В принципе, если не экономить полосу пропускания, то можно воспользоваться встроенным средством wget и скачать всё.

Вначале опции:
wget -r -np -nH --cut-dirs=4 -P MusicBrainz

-r рекурсивно загрузить,
-np - не выходить за пределы папки fullexport
-nH - не создавать на диске папку ftp.musicbrainz.org/
--cut-dirs=4 не создавать папки pub/musicbrainz/data/fullexport
-P MusicBrainz папка сохранения


1. Из особенностей организации на ftp-сервере MusicBrainz, вначале надо скачать файл LATEST, в котором в первой строке содержиться относительное имя папки, с последним дампом базы данных:

wget ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST

2. Скачать эту папку, для этого надо содержимое первой строки подставить и сформировать url для загрузки.
Это делается с помощью, спец. кавычек `cat LATEST`, которые вначале выведут на стандартный вывод, первую строку, а оболочка подставить полученное, в качестве имени папки для скачивания.

wget -r -np -nH --cut-dirs=4 -P MusicBrainz ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/`cat LATEST`

Это пример для ручной загрузки. Чтобы, это работало по расписанию, надо использовать абсолютные пути:

У меня, скачиваемые файлы будут храниться в папке проекта Perpetum/MusicBrainz, расположенном на диске смонтированном в /media/gimmor/tibibyte .


$ mkdir /media/gimmor/tibibyte/Perpetum/MusicBrainz

$ wget ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST -O /media/gimmor/tibibyte/Perpetum/MusicBrainz/LATEST

$ wget -r -np -nH --cut-dirs=4 -A '*.asc' -P /media/gimmor/tibibyte/Perpetum/MusicBrainz ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/`cat /media/gimmor/tibibyte/Perpetum/MusicBrainz/LATEST`


Чтобы протестировать работоспособность, можно добавить опцию -A '*.asc', которая будет скачивать только файлы с расширением asc. Менее минуты, и видна структура сформированных папок. После тестирования работоспособности Cron, это опцию надо убрать, чтобы скачивались все нужные файлы.

В принципе, в расписание можно вставлять эти команды, и если синтаксис правильный, всё должно заработать. Хотя, с кроном, всегда какие-то трудности, то пути, то бит-исполнения и пр.

Выдержка из расписания (crontab -e):

# MusicBrainz - еженедельный образ базы данных
# Загружается еженедельно, в ночь со среды на четверг
# Каталог MusicBrainz должен существовать

15 00 * * 4 /usr/bin/wget ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST -O /media/gimmor/tibibyte/Perpetum/MusicBrainz/LATEST
17 00 * * 4 /usr/bin/wget wget -r -np -nH --cut-dirs=4 -P /media/gimmor/tibibyte/Perpetum/MusicBrainz ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/`cat /media/gimmor/tibibyte/Perpetum/MusicBrainz/LATEST`

Видно, что вначале загружается файл LATEST.

※※※

Вечное поддержание в состоянии синхронизации. Другой путь


Сервис MediaBrainz позволяет скачать образ виртуальной машины MediaBrainz-сервера [4] и настроить подчинённую репликацию данных [3], чтобы всегда оставаться с актуальной базой данных.



※※※

Ресурсы


1. MusicBrainz. http://musicbrainz.org/
2. MusicBrainz. Прямая ссылка на каталог с дампами базы данных. ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/
3. MusicBrainz. Установка реплицирующего сервера. http://musicbrainz.org/doc/MusicBrainz_Server/Setup
4. MusicBrainz. Прямая ссылка на загрузку образа сервера: ftp://mayhemchaos.org/pub/musicbrainz/vm/musicbrainz-server-2013-10-14.ova


※※※


Комментариев нет: