HOW-TO: Синхронизируй свою музыку Сравнение версий

Различия

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

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

Следующая версия
Предыдущая версия
fullcircle:20:синхронизуй_свою_музыку [2010/03/30 23:44]
создано
fullcircle:20:синхронизуй_свою_музыку [2010/12/31 20:06] (текущий)
Строка 1: Строка 1:
-======HOW-TO====== +====== HOW-TOСинхронизируй свою музыку =====
-=====Синхронизуй свою музыку===== + 
-===Автор: Джо Берри (Joe Berry)===+<style right> 
 +//Автор: Джо Берри (Joe Berry)// 
 +</​style>​
  
 Как и у многих из вас, у меня есть цифровая музыкальная коллекция в mp3 файлах. Она появилась,​ когда я начал оцифровывать CD-диски. Сейчас же, в основном,​ я покупаю музыку в интернет. С тех пор, как я стал тратить на неё достаточно большие суммы, мне всё больше не хочется её потерять. На сегодня моя коллекция имеет размер примерно 25Гб. В этой статье описывается моя стратегия по сохранению и управлению моей музыкальной коллекцией. Как и у многих из вас, у меня есть цифровая музыкальная коллекция в mp3 файлах. Она появилась,​ когда я начал оцифровывать CD-диски. Сейчас же, в основном,​ я покупаю музыку в интернет. С тех пор, как я стал тратить на неё достаточно большие суммы, мне всё больше не хочется её потерять. На сегодня моя коллекция имеет размер примерно 25Гб. В этой статье описывается моя стратегия по сохранению и управлению моей музыкальной коллекцией.
Строка 12: Строка 14:
  
 Наилучшее описание программы rdiff-backup даёт сам автор: Наилучшее описание программы rdiff-backup даёт сам автор:
-//​“rdiff-backup дублирует одну директорию в другую,​ возможно даже по сети. Целевая директория является копией директории источника,​ но также дополнительные обратные изменения сохраняются в специальных поддиректориях,​ поэтому вы всегда сможете восстановить давно утерянные файлы. Идея заключается в том, чтобы комбинировать все достоинства зеркального и инкрементального резервного копирования. rdiff-backup также сохраняет поддиректории,​ жёсткие ссылки,​ dev файлы, права доступа,​ uid/gid права, время модификации,​ расширенные аттрибуты,​ списки доступа и ответвления ресурсов. Также rdiff-backup может управлять пропускной способностью канала на манер rsync. Поэтому,​ вы можете использовать rdiff-backup совместно с ssh, чтобы безопасно создавать резервную копию жёсткого диска на удалённой машине,​ при этом будут переданы только различия в файлах. И, наконец,​ rdiff-backup лёгок в использовании и имеет удобные настройки по умолчанию”//​.+//​“rdiff-backup дублирует одну директорию в другую,​ возможно даже по сети. Целевая директория является копией директории источника,​ но также дополнительные обратные изменения сохраняются в специальных поддиректориях,​ поэтому вы всегда сможете восстановить давно утерянные файлы. Идея заключается в том, чтобы комбинировать все достоинства зеркального и инкрементального резервного копирования. rdiff-backup также сохраняет поддиректории,​ жёсткие ссылки,​ dev файлы, права доступа,​ uid/gid права, время модификации,​ расширенные атрибуты,​ списки доступа и ответвления ресурсов. Также rdiff-backup может управлять пропускной способностью канала на манер rsync. Поэтому,​ вы можете использовать rdiff-backup совместно с ssh, чтобы безопасно создавать резервную копию жёсткого диска на удалённой машине,​ при этом будут переданы только различия в файлах. И, наконец,​ rdiff-backup лёгок в использовании и имеет удобные настройки по умолчанию”//​.
  
 Чтобы автоматизировать запуск rdiff-backup,​ я создал скрипт:​ Чтобы автоматизировать запуск rdiff-backup,​ я создал скрипт:​
-<code>+ 
 +<file>
  ​1. ​ #!/bin/bash  ​1. ​ #!/bin/bash
  ​2. ​ LOG=/​home/​jberry/​rdiff-backup-output.txt  ​2. ​ LOG=/​home/​jberry/​rdiff-backup-output.txt
Строка 41: Строка 44:
 24. echo "​rdiff-backup is finished at " >> $LOG 24. echo "​rdiff-backup is finished at " >> $LOG
 25. date >> $LOG 2>&1 25. date >> $LOG 2>&1
-</code>+</file>
  
 Строка №2 определяет выходной файл для хранения истории ежедневного запуска этого скрипта. Без этого будет трудно разобраться,​ если возникнут проблемы. Следующие несколько строк просто отмечают временную отметку. Строка №2 определяет выходной файл для хранения истории ежедневного запуска этого скрипта. Без этого будет трудно разобраться,​ если возникнут проблемы. Следующие несколько строк просто отмечают временную отметку.
  
 В строках 5-10 скрипт подтверждает,​ что переносной USB диск присоединен. Если же он не присоединен,​ то нет причин продолжать выполнение скрипта дальше. В зависимости от специфики вашего жёсткого диска, в строке №6, возможно,​ необходимы изменения. Чтобы определить,​ какую строку вам использовать для вашего диска, подсоедините диск и запустите окно терминала (Приложения → Системные → Терминал). Введите команду “df”, и вы должны увидеть что-то похожее на В строках 5-10 скрипт подтверждает,​ что переносной USB диск присоединен. Если же он не присоединен,​ то нет причин продолжать выполнение скрипта дальше. В зависимости от специфики вашего жёсткого диска, в строке №6, возможно,​ необходимы изменения. Чтобы определить,​ какую строку вам использовать для вашего диска, подсоедините диск и запустите окно терминала (Приложения → Системные → Терминал). Введите команду “df”, и вы должны увидеть что-то похожее на
-<code>+ 
 +<file>
 $ df  $ df 
 Filesystem ​          ​1K-blocks ​     Used Available Use% Mounted on  Filesystem ​          ​1K-blocks ​     Used Available Use% Mounted on 
Строка 57: Строка 61:
 /​dev/​loop0 ​             510984 ​   104716 ​   406268 ​ 21% /joe0  /​dev/​loop0 ​             510984 ​   104716 ​   406268 ​ 21% /joe0 
 /​dev/​sdb1 ​           156250144 117254752 ​ 38995392 ​ 76% /media/WD PASSPORT ​ /​dev/​sdb1 ​           156250144 117254752 ​ 38995392 ​ 76% /media/WD PASSPORT ​
-</code>+</file>
  
 Заметка о последней строке. Она касается моего переносного диска. У вас, возможно,​ будет стоять другие значения после строки “/​media/​”. Строка №6 ищет в выводе команды “df” значение параметра “PASSPORT”. Если такое значение не найдено,​ скрипт завершается. Измените эту строку под свои параметры. Заметка о последней строке. Она касается моего переносного диска. У вас, возможно,​ будет стоять другие значения после строки “/​media/​”. Строка №6 ищет в выводе команды “df” значение параметра “PASSPORT”. Если такое значение не найдено,​ скрипт завершается. Измените эту строку под свои параметры.
  
 Следующая часть скрипта определяет доступность источника с музыкой. Мой музыкальный сервер является Linux системой и называется '​fedora'​. Если директория fedora/​music не присоединена,​ скрипт присоединит её, запустив другой скрипт mount-music (строка 16). В этом скрипте всего лишь одна строчка:​ Следующая часть скрипта определяет доступность источника с музыкой. Мой музыкальный сервер является Linux системой и называется '​fedora'​. Если директория fedora/​music не присоединена,​ скрипт присоединит её, запустив другой скрипт mount-music (строка 16). В этом скрипте всего лишь одна строчка:​
-<​code>​mount -o ro fedora:/​joe0/​music /music</​code>​+ 
 +  ​mount -o ro fedora:/​joe0/​music /music 
 Если ваша музыкальная коллекция находится на вашей локальной системе Ubuntu, то вы просто можете удалить строки 11-22. Если ваша музыкальная коллекция находится на вашей локальной системе Ubuntu, то вы просто можете удалить строки 11-22.
 Вам потребуется изменить строку 23, строку,​ запускающую rdiff-backup,​ для определения местонахождения вашей музыкальной коллекции. Параметры,​ которые я указал (в порядке их появления):​ Вам потребуется изменить строку 23, строку,​ запускающую rdiff-backup,​ для определения местонахождения вашей музыкальной коллекции. Параметры,​ которые я указал (в порядке их появления):​
-<​code>​--print-statistics</​code>​+ 
 +  ​--print-statistics 
 Это означает,​ что будет показана различная статистика. Это означает,​ что будет показана различная статистика.
-<​code>​/music</​code>​+ 
 +  ​/music 
 + 
 Директория где хранится музыка. Директория где хранится музыка.
-<​code>​/media/WD\ PASSPORT/​music</​code>​+ 
 +  ​/media/WD\ PASSPORT/​music 
 Эта директория определяет,​ где будет храниться резервная копия коллекции. Эта директория определяет,​ где будет храниться резервная копия коллекции.
 Есть множество других параметров rdiff-backup. Введите:​ Есть множество других параметров rdiff-backup. Введите:​
-<​code>​man rdiff-backup</​code>​+ 
 +  ​man rdiff-backup 
 чтобы узнать,​ какие ещё команды доступны. Также вы можете посетить сайт с подробной документацией. чтобы узнать,​ какие ещё команды доступны. Также вы можете посетить сайт с подробной документацией.
 +
 Существуют две вещи, о которых,​ как мне кажется,​ я должен упомянуть. Первая - это особенность,​ о которой я ничего не знал, пока не обнаружил её в FAQ. Когда я заглянул на мой диск с резервными копиями,​ я испытал некоторое беспокойство. Вот приблизительный вид структуры директории,​ который я увидел. Существуют две вещи, о которых,​ как мне кажется,​ я должен упомянуть. Первая - это особенность,​ о которой я ничего не знал, пока не обнаружил её в FAQ. Когда я заглянул на мой диск с резервными копиями,​ я испытал некоторое беспокойство. Вот приблизительный вид структуры директории,​ который я увидел.
  
Строка 79: Строка 94:
  
 Обратите внимание,​ что каждый исполнитель и альбом (пятый исполнитель Alison Krauss и его альбом “Now That I've Found You”) имеет забавные символы вместо буквы в верхнем регистре. В частности,​ символ “;065” находится на месте буквы “A”. В FAQ это объясняется так: Обратите внимание,​ что каждый исполнитель и альбом (пятый исполнитель Alison Krauss и его альбом “Now That I've Found You”) имеет забавные символы вместо буквы в верхнем регистре. В частности,​ символ “;065” находится на месте буквы “A”. В FAQ это объясняется так:
 +
 +<​quote>​
 Когда производится резервное копирование с регистро-зависимой файловой системы на регистро-независимую (такую как Mac's HFS+ или Windows'​s FAT32 или NTFS), rdiff-backup удаляет символы в верхнем регистре,​ чтобы избежать случая перезаписи уже имеющихся файлов. Если файловая система является регистро-сохраняющей,​ но не регистро-независимой - это означает,​ что файл с именем "​Foo"​ равнозначен именам "​Foo",​ "​foo",​ "​foO",​ "​fOo"​ и т.д. Файловые системы,​ такие как ext3 в Linux, всё же воспринимают такие файлы, как разные копии файла. Когда производится резервное копирование с регистро-зависимой файловой системы на регистро-независимую (такую как Mac's HFS+ или Windows'​s FAT32 или NTFS), rdiff-backup удаляет символы в верхнем регистре,​ чтобы избежать случая перезаписи уже имеющихся файлов. Если файловая система является регистро-сохраняющей,​ но не регистро-независимой - это означает,​ что файл с именем "​Foo"​ равнозначен именам "​Foo",​ "​foo",​ "​foO",​ "​fOo"​ и т.д. Файловые системы,​ такие как ext3 в Linux, всё же воспринимают такие файлы, как разные копии файла.
 +</​quote>​
  
 Мой переносной диск отформатирован под файловую систему FAT32 (я хочу, чтобы он также был читаемым под Windows системами). На самом деле эта проблема не существенна. Т.к. все mp3-проигрыватели,​ например Rhythmbox, используют метаданные mp3 файла, чтобы определить имя исполнителя и альбома;​ они не используют физические имена файлов ни в каких целях. Мой переносной диск отформатирован под файловую систему FAT32 (я хочу, чтобы он также был читаемым под Windows системами). На самом деле эта проблема не существенна. Т.к. все mp3-проигрыватели,​ например Rhythmbox, используют метаданные mp3 файла, чтобы определить имя исполнителя и альбома;​ они не используют физические имена файлов ни в каких целях.
Строка 86: Строка 104:
  
 Я автоматически запускаю скрипт синхронизации моей музыки в одно и то же время каждый день. Это делается при помощи cron. Мой Crontab выглядит так: Я автоматически запускаю скрипт синхронизации моей музыки в одно и то же время каждый день. Это делается при помощи cron. Мой Crontab выглядит так:
-<​code>​15 9 * * * /​home/​jberry/​util/​run-rdiff-backup.sh</​code>​+ 
 +  ​15 9 * * * /​home/​jberry/​util/​run-rdiff-backup.sh
  
 Это означает:​ запустить выполнение rdiff-backup.sh каждый день в 9:15 утра. По случаю,​ я проверил журнал (см. строку №2 в вышеприведенном скрипте),​ чтобы убедиться,​ что все работает правильно. В качестве домашнего задания вы можете улучшить скрипт для отправки по электронной почте уведомлений об имеющихся проблемах с созданием резервной копии. Это означает:​ запустить выполнение rdiff-backup.sh каждый день в 9:15 утра. По случаю,​ я проверил журнал (см. строку №2 в вышеприведенном скрипте),​ чтобы убедиться,​ что все работает правильно. В качестве домашнего задания вы можете улучшить скрипт для отправки по электронной почте уведомлений об имеющихся проблемах с созданием резервной копии.
  
-[[:fullcircle/20|← К содержанию номера]]+---- 
 +<style center>​ 
 +//[[..:20|К содержанию номера]]//
  
-[[:​fullcircle|← К архиву журналов]]+//[[:​fullcircle|К архиву журналов]]// 
 +</​style>​
  
-{{tag>​Музыка СИнхронизация ​How-To ​Full_Circle}}+{{tag>​Музыка Синхронизация ​howto Full_Circle}}