Categories: Всячина

data-sync/

Дано: три компьютера (две штуки — под управлением FreeBSD и еще на одном стоит Windows), смартфон , планшет , а также парочка виртуальных машин. Задача: синхронизировать между ними почту, RSS-ленту, закладки, файлы и тд. Желательно использовать для этого поменьше программ и сервисов.

1. Почта и RSS

Тут все довольно просто — храним почту на GMail , а RSS читаем через Google Reader . Лично я делаю именно так. Не нравится Гугл, пожалуйста — почта на Яндексе , RSS читаем через Яндекс.Ленту . Только нужно учесть, что в последнем случае не гарантируется удобство чтения почты/rss с планшета под управлением Android. Google как-то хитро оптимизирует свои веб-страницы для андроид-планшетов, чтобы эти страницы было удобно разглядывать на экране с маленькой диагональю.

Как альтернативный вариант, можно использовать браузер Opera. В нем есть встроенная rss-читалка, почтовый клиент и синхронизация всего этого хозяйства. Только я не уверен, что все перечисленное есть в Opera Mobile и Opera Mini. Также для синхронизации почты годится протокол IMAP.

2. Закладки и заметки

В свое время я пробовал и БобрДобр , и Delicious , и Google Bookmarks , и всякие браузерные плагины для этих сервисов. Ничто из перечисленного не пришлось мне по душе.

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

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

Если нравится Firefox — в четвертой версии появился Firefox Sync. Не знаю, поддерживает ли он заметки, так что на всякий случай имейте в виду notebook.google.com . Почему-то об этом сервисе мало кто знает.

3. Синхронизация файлов

Первое, что приходит на ум — использовать очень небезопасный Dropbox. Не знаю, радоваться этому или нет, но в настоящее время не существует версии Dropbox под FreeBSD (хотя у сервиса имеется неплохой веб-интерфейс, а на ГитХабе был найден соответствующий форк ). Несмотря даже на то, что на офсайте есть голосование по поводу его портирования под Фряху с 2647 голосами «за» (на момент написания этих строк). Проголосуйте, может когда-нибудь сделают.

А пока можно производить синхронизацию файлов с помощью sshfs. Это модуль для FUSE , позволяющий получить доступ к удаленной файловой системе по SSH. Его установка и настройка довольно тривиальны.

pkg_add -r fusefs-kmod fusefs-sshfs

Если FUSE раньше не был установлен, дописываем в /etc/rc.conf:

fusefs_enable=»YES»

… и запускаем FUSE:

/usr/local/etc/rc.d/fusefs start

Самое главное при использовании sshfs — это монтировать файловую систему с правильными флагами:

# кусок /root/.cshrc
alias mntssh    sshfs -o uid = 1001 , gid = 1001 ,allow_other,follow_symlinks,reconnect,intr, IdentityFile = / home / eax / .ssh / id_rsa user @ example.ru:example.ru / htdocs / secret-place / / home / eax / sshfs /

Обратите особое внимание на использование identity file и флага «intr». Без этих настроек у вас могут возникнуть проблемы в случае падения сети или недоступности example.ru. На самом деле, они возникнут по-любому (файлы будут временно недоступны), но хотя бы никакие приложения при этом не повиснут. Если вдруг по вине sshfs все-таки что-то повисло, а у меня такое однажды было, попробуйте прибить все процессы с именем «sshfs».

Примечание: См также заметку про резервное копирование с помощью SSH . Там рассказано про создание identity file и утилиту rsync. Последняя, возможно, подойдет вам больше, чем sshfs.

К нашей великой радости, sshfs портирован под Windows . Сначала качаем и устанавливаем «Dokan Library». На самом деле, это никакая не библиотека, а служба. Затем качаем с той же страницы «Dokan SSHFS». Это GUI приложение, так что с ним все просто.

Как вы понимаете, example.ru/htdocs/secret-place/ не плохо бы сделать доступным по HTTP, включив автоиндекс, а также ограничив доступ паролем. В первую очередь нужно залезть в панель управления хостингом (или как вы там управляете сервером) и убедиться, что autoindex_module включен. Затем создаем в каталоге secret-place файл .htaccess следующего содержания:

Options Indexes FollowSymLinks

AuthUserFile /home/user/example.ru/htdocs/secret-place/.htpasswd
AuthType Basic
AuthName «Password Required»
Require valid-user

В том же каталоге создаем файл .htpasswd с помощью соответствующей утилиты или скрипта . Вбиваем адрес в браузере, проверяем.

Возможно, вам захочется выкладывать некоторые файлы на всеобщее обозрение. Сделать это можно, создав символьную ссылку на нужный каталог (по понятным причинам, лучше разместить его выше, чем secret-place) и, опционально, положив в него .htaccess, содержащий следующее:

# отдавать файлы, но не показывать содержимое каталога
Options -Indexes

Также с помощью символьных ссылок можно управлять по sshfs содержимым каких-то специальных каталогов. Например, можно создать симлинк на каталог с картинками, приатаченными к постам в блоге. См также мою памятку по .htaccess (пункт 6).

4. Свое онлайн-радио?

У меня на хостинге недостаточно места для хранения музыки, но в теории можно сделать свой онлайн-плейлист, используя jPlayer . Это jQuery плагин для проигрывания аудио и видео. Удобен в первую очередь тем, что в зависимости от возможностей браузера, он предлагает использовать либо Flash ( лучи ненависти! ), либо HTML5. Наброски проигрывателя: http://hpaste.org/79987 .

Содержимое плейлиста (строка 140) можно генерировать динамически. Самая большая подстава в том, что Opera 11 и Firefox (проверял на версиях 3.6 и 4) не умеют воспроизводить mp3 по сети. Во всяком случае, без флеш-плагина. В свою очередь, формат ogg не поддерживают IE 8/9 и Safari 5. Надо отдать должное Chrome — он понимает и mp3 и ogg.

Таким образом, нам предстоит непростой выбор — обязать пользователей устанавливать Flash или хранить на сервере музыку в двух форматах. Как альтернативный вариант, можно использовать один формат, который при необходимости динамически перекодировался бы в другой (возможно, с кэшированием):

# перекодируем mp3 в ogg
ffmpeg -i in.mp3 -acodec libvorbis out.ogg
# перекодируем ogg в mp3 с cbr 128 kbps
ffmpeg -i in.ogg -acodec libmp3lame -ab 128k out.mp3
# перекодируем ogg в mp3 с vbr (чем больше aq, тем хуже качество)
ffmpeg -i in.ogg -acodec libmp3lame -aq 0 out.mp3

Представьте, как круто — приходите в гости к друзьям, запускаете браузер и вся ваша музыка — как на ладони. Правда, я должен признать, что зарегаться Вконтакте и замутить там плейлист намного проще. А для прослушивания плейлиста без Flash можно скриптик небольшой набросать.

5. Ссылки по теме

Эти материалы могут вам пригодиться:

Как всегда, я буду рад любым вашим комментариям по теме синхронизации данных.

admin

Share
Published by
admin

Recent Posts

vim-commands/

Самое главное — побороть боязнь белого листа. Я всегда говорю это себе, когда нужно начать…

1 месяц ago

firefox-thunderbird-en-ru-dict/

По не вполне ясным причинам, Firefox умеет проверять орфографию либо только в русских, либо только…

1 месяц ago

perl-hacks/

Около месяца собирал разные «хаки» на языке программирования Perl. Эта подборка наглядно демонстрирует, как в…

1 месяц ago

perl-cy-check/

C недавних пор я стал увлекаться SEO. Порой передо мной встает задача быстро проверить индекс…

1 месяц ago

which-cms-perl/

Недавно написал несколько скриптов, позволяющих автоматически определять, какая CMS (Content Management System, система управления контентом)…

1 месяц ago

smtp-descr/

Я так подозреваю, что среди вас найдется те, кто скажет, что этот пост боян и…

1 месяц ago