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