Я выполняю Сервер Ubuntu 9.10. У меня есть два внешних USB жесткие диски. Я использую их каждый по различным резервным причинам. Таким образом, определенные данные хранятся на одном жестком диске, и другая информация хранится на другом жестком диске.
Я хочу сделать сценарий, который может посмотреть на внешний жесткий диск, может определить, который жесткий диск это, так, чтобы он мог скопировать надлежащую информацию в него. Существует ли путь к Linux для определения этого? Как то, если я рассматриваю один жесткий диск как/dev/sdc1, затем отключаю его и включаю другой жесткий диск, Linux должен рассматривать его как/dev/sdd1, или это будет/dev/sdc1?
Я - что-то вроде Linux newb, и я не вполне понимаю, как он определяет значения/dev/sdxx, которые он присваивает дискам.
Идентификация устройства хранения может быть выполнена с помощью UUID
из устройства. Идентификация на основе/dev/sd* не надежна.
В человечности 9.10 можно использовать blkid
перечислять устройства UUID
и можно использовать эту команду в сценарии для надлежащей идентификации определенного жесткого диска с тех пор UUID
исключительно присвоены определенному жесткому диску.
Можно найти больше информации здесь, но отметить что команда vol_id
не доступно начиная с человечности 9.10.
Это можно считать обходным решением и не прямым ответом на Ваш вопрос, но мой подход к этой проблеме должен создать другой файл на каждом жестком диске.
У меня есть несколько внешних жестких дисков, таким образом, я использую touch
для создания файла нулевого байта как 'Музыка' на одной или 'Видео' на другом, и затем мой резервный сценарий может обнаружить, что записать в него.
Я действительно надеюсь, что Вы получаете определенный ответ на свой вопрос. Мне будет интересно видеть его.
Просто ответив на мой собственный вопрос для чьей-либо еще будущей ссылки...
Я нашел, что хороший метод для различения устройств состоит в том, чтобы просто дать им использование маркировок e2label
.
Кроме того, я могу различать устройства здесь
/dev/disk/by-label/
и
/dev/disk/by-uuid