fullcircle:fcm-ru-20:синхронизуй_свою_музыку Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
fullcircle:fcm-ru-20:синхронизуй_свою_музыку [2010/03/30 21:34]
— (текущий)
Строка 1: Строка 1:
-======HOW-TO====== 
-=====Синхронизуй свою музыку===== 
-===Автор:​ Джо Берри (Joe Berry)=== 
  
-Как и у многих из вас, у меня есть цифровая музыкальная коллекция в mp3 файлах. Она появилась,​ когда я начал оцифровывать CD-диски. Сейчас же, в основном,​ я покупаю музыку в интернет. С тех пор, как я стал тратить на неё достаточно большие суммы, мне всё больше не хочется её потерять. На сегодня моя коллекция имеет размер примерно 25Гб. В этой статье описывается моя стратегия по сохранению и управлению моей музыкальной коллекцией. 
- 
-Я храню свою музыку на компьютере с Linux, с запущенной Samba и NFS, что позволяет прослушивать её как на компьютере с Windows, так и с Linux и Unix, которые имеются у меня дома. В основном я работаю за ноутбуком с установленной Ubuntu 8.04. Когда я дома, я получаю доступ к музыкальному серверу по NFS и слушаю мою коллекцию через Rhythmbox. Но иногда мне приходится путешествовать,​ и мне очень важно иметь доступ к моей музыке. Поэтому,​ я приобрёл недорогой,​ переносной жёсткий USB диск 160Гб ($99 US), который обеспечил меня как резервным копированием моей коллекции,​ так и возможностью слушать музыку,​ когда я нахожусь вне дома. 
- 
-Есть множество способов создания резервных копий файлов. Множество статей уже опубликовано,​ а многие другие ещё будут опубликованы. Я не обещаю,​ что мой способ является самым лучшим. Но как бы то ни было, он отвечает моим требованиям и, может быть, угодит и вашим. 
- 
-Как я уже говорил,​ я часто пополняю свою коллекцию,​ а иногда и удаляю из неё некоторые композиции. И мне не нужна такая схема резервного копирования,​ которая просто копирует новые файлы в некоторую резервную папку. Если я удаляю композицию,​ я хочу, чтобы она исчезла и из резервной папки. Мне нужен простой механизм,​ который будет чётко управлять и поддерживать точную копию моей коллекции (удаляя некоторые композиции и добавляя новые). Мне также не хочется,​ чтобы это занимало длительное время (помните,​ у меня 25Гб музыки). Решением,​ которое выбрал я, стала программа rdiff-backup. Само приложение и документация на него расположены на домашней странице:​*www.nongnu.org/​rdiff-backup/​. *Менеджер пакетов Synaptic делает установку rdiff-backup очень простой. Просто сделайте поиск по rdiff-backup и установите его (заметка:​ также требуется установка Python). 
- 
-Наилучшее описание программы rdiff-backup даёт сам автор: 
-//​“rdiff-backup дублирует одну директорию в другую,​ возможно даже по сети. Целевая директория является копией директории источника,​ но также дополнительные обратные изменения сохраняются в специальных поддиректориях,​ поэтому вы всегда сможете восстановить давно утерянные файлы. Идея заключается в том, чтобы комбинировать все достоинства зеркального и инкрементального резервного копирования. rdiff-backup также сохраняет поддиректории,​ жёсткие ссылки,​ dev файлы, права доступа,​ uid/gid права, время модификации,​ расширенные аттрибуты,​ списки доступа и ответвления ресурсов. Также rdiff-backup может управлять пропускной способностью канала на манер rsync. Поэтому,​ вы можете использовать rdiff-backup совместно с ssh, чтобы безопасно создавать резервную копию жёсткого диска на удалённой машине,​ при этом будут переданы только различия в файлах. И, наконец,​ rdiff-backup лёгок в использовании и имеет удобные настройки по умолчанию”//​. 
- 
-Чтобы автоматизировать запуск rdiff-backup,​ я создал скрипт:​ 
-<​code>​ 
- ​1. ​ #!/bin/bash 
- ​2. ​ LOG=/​home/​jberry/​rdiff-backup-output.txt 
- ​3. ​ echo "​Starting rdiff-backup"​ >> $LOG 
- ​4. ​ date >> $LOG 2>&1 
- ​5. ​ # make sure the portable drive is mounted ​ 
- ​6. ​ df /media/* | grep PASSPORT 
- ​7. ​ if [ $? -eq 1 ] ; then 
- ​8. ​     echo "No portable drive -- can't continue"​ >> $LOG 
- ​9. ​     exit 1 
-10. fi 
-11. # make sure fedora'​s music is mounted 
-12. df /music | grep fedora 
-13. if [ $? -eq 1 ] ; then 
-14. #  try to mount 
-15.     echo "​mounting the fedora music dir" >> $LOG 
-16.     /​home/​jberry/​util/​mount-music 
-17. # now make sure the mount was successful 
-18.     if [ ! -e /​music/​README.txt ] ; then 
-19.         echo "​Unsuccessful mount of music from fedora"​ >> $LOG 
-20.         exit 1 
-21.     fi 
-22. fi 
-23. /​usr/​bin/​rdiff-backup --print-statistics /music /media/WD\ PASSPORT/​music >> $LOG 2>&1 
-24. echo "​rdiff-backup is finished at " >> $LOG 
-25. date >> $LOG 2>&1 
-</​code>​ 
- 
-Строка №2 определяет выходной файл для хранения истории ежедневного запуска этого скрипта. Без этого будет трудно разобраться,​ если возникнут проблемы. Следующие несколько строк просто отмечают временную отметку. 
- 
-В строках 5-10 скрипт подтверждает,​ что переносной USB диск присоединен. Если же он не присоединен,​ то нет причин продолжать выполнение скрипта дальше. В зависимости от специфики вашего жёсткого диска, в строке №6, возможно,​ необходимы изменения. Чтобы определить,​ какую строку вам использовать для вашего диска, подсоедините диск и запустите окно терминала (Приложения → Системные → Терминал). Введите команду “df”, и вы должны увидеть что-то похожее на 
-<​code>​ 
-$ df  
-Filesystem ​          ​1K-blocks ​     Used Available Use% Mounted on  
-/​dev/​sda1 ​            ​36835176 ​ 27133928 ​  ​7830080 ​ 78% /  
-varrun ​                 512916 ​      ​296 ​   512620 ​  1% /​var/​run ​ 
-varlock ​                ​512916 ​        ​0 ​   512916 ​  0% /​var/​lock ​ 
-udev                    512916 ​       60    512856 ​  1% /dev  
-devshm ​                 512916 ​      ​164 ​   512752 ​  1% /​dev/​shm ​ 
-lrm                     ​512916 ​    ​38176 ​   474740 ​  8% /​lib/​modules/​2.6.24-18-generic/​volatile ​ 
-/​dev/​loop0 ​             510984 ​   104716 ​   406268 ​ 21% /joe0  
-/​dev/​sdb1 ​           156250144 117254752 ​ 38995392 ​ 76% /media/WD PASSPORT ​ 
-</​code>​ 
- 
-Заметка о последней строке. Она касается моего переносного диска. У вас, возможно,​ будет стоять другие значения после строки “/​media/​”. Строка №6 ищет в выводе команды “df” значение параметра “PASSPORT”. Если такое значение не найдено,​ скрипт завершается. Измените эту строку под свои параметры. 
- 
-Следующая часть скрипта определяет доступность источника с музыкой. Мой музыкальный сервер является Linux системой и называется '​fedora'​. Если директория fedora/​music не присоединена,​ скрипт присоединит её, запустив другой скрипт mount-music (строка 16). В этом скрипте всего лишь одна строчка:​ 
-<​code>​mount -o ro fedora:/​joe0/​music /​music</​code>​ 
-Если ваша музыкальная коллекция находится на вашей локальной системе Ubuntu, то вы просто можете удалить строки 11-22. 
-Вам потребуется изменить строку 23, строку,​ запускающую rdiff-backup,​ для определения местонахождения вашей музыкальной коллекции. Параметры,​ которые я указал (в порядке их появления):​ 
-<​code>​--print-statistics</​code>​ 
-Это означает,​ что будет показана различная статистика. 
-<​code>/​music</​code>​ 
-Директория где хранится музыка. 
-<​code>/​media/​WD\ PASSPORT/​music</​code>​ 
-Эта директория определяет,​ где будет храниться резервная копия коллекции. 
-Есть множество других параметров rdiff-backup. Введите:​ 
-<​code>​man rdiff-backup</​code>​ 
-чтобы узнать,​ какие ещё команды доступны. Также вы можете посетить сайт с подробной документацией. 
-Существуют две вещи, о которых,​ как мне кажется,​ я должен упомянуть. Первая - это особенность,​ о которой я ничего не знал, пока не обнаружил её в FAQ. Когда я заглянул на мой диск с резервными копиями,​ я испытал некоторое беспокойство. Вот приблизительный вид структуры директории,​ который я увидел. 
- 
-{{ :​fullcircle:​20:​wdpassport.png?​500 }} 
- 
-Обратите внимание,​ что каждый исполнитель и альбом (пятый исполнитель Alison Krauss и его альбом “Now That I've Found You”) имеет забавные символы вместо буквы в верхнем регистре. В частности,​ символ “;065” находится на месте буквы “A”. В FAQ это объясняется так: 
-Когда производится резервное копирование с регистро-зависимой файловой системы на регистро-независимую (такую как Mac's HFS+ или Windows'​s FAT32 или NTFS), rdiff-backup удаляет символы в верхнем регистре,​ чтобы избежать случая перезаписи уже имеющихся файлов. Если файловая система является регистро-сохраняющей,​ но не регистро-независимой - это означает,​ что файл с именем "​Foo"​ равнозначен именам "​Foo",​ "​foo",​ "​foO",​ "​fOo"​ и т.д. Файловые системы,​ такие как ext3 в Linux, всё же воспринимают такие файлы, как разные копии файла. 
- 
-Мой переносной диск отформатирован под файловую систему FAT32 (я хочу, чтобы он также был читаемым под Windows системами). На самом деле эта проблема не существенна. Т.к. все mp3-проигрыватели,​ например Rhythmbox, используют метаданные mp3 файла, чтобы определить имя исполнителя и альбома;​ они не используют физические имена файлов ни в каких целях. 
- 
-Вторая вещь, о которой я должен сказать,​ возникала всего пару раз за прошедший год или два. Что-то начинает "​засоряться",​ после чего rdiff-backup перестаёт работать. При этом сообщается об ошибке. Опять же в FAQ описано,​ каким образом можно обойти эту ошибку и перезагрузить процесс резервного копирования. Тут нет ничего серьёзного;​ нужная информация - это музыка - с ней всё в порядке,​ но вот файлы поддержки rdiff-backup,​ в которых записывается,​ что и когда было скопировано,​ вот они-то и "​засоряются"​. 
- 
-Я автоматически запускаю скрипт синхронизации моей музыки в одно и то же время каждый день. Это делается при помощи cron. Мой Crontab выглядит так: 
-<​code>​15 9 * * * /​home/​jberry/​util/​run-rdiff-backup.sh</​code>​ 
- 
-Это означает:​ запустить выполнение rdiff-backup.sh каждый день в 9:15 утра. По случаю,​ я проверил журнал (см. строку №2 в вышеприведенном скрипте),​ чтобы убедиться,​ что все работает правильно. В качестве домашнего задания вы можете улучшить скрипт для отправки по электронной почте уведомлений об имеющихся проблемах с созданием резервной копии. 
- 
-[[http://​help.ubuntu.ru/​fullcircle/​fcm-ru-20|К содержанию номера]] 
- 
-[[http://​help.ubuntu.ru/​fullcircle|К архиву журналов]] 
- 
-{{tag>​Музыка СИнхронизация How-To Full_Circle}}