Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
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}} |