Как правильно подключить внешний жесткий диск USB для скрипта резервного копирования с помощью udisks2

Я использую Kubuntu 12.04 с KDE 4.11.1. У меня есть жесткий диск на 2 ТБ, установленный во внешнем корпусе USB. Метка диска является резервной. При загрузке диск не монтируется автоматически. Я хочу смонтировать его двумя способами:

  1. У меня есть корневая запись cron, которая смонтирует диск, если он еще не смонтирован. Это часть моего ночного резервного скрипта.
  2. Как обычный пользователь, я могу щелкнуть метку диска на панели «Места» Dolphin, и диск будет смонтирован.

Ранее привод монтировался в / media / Backup в обоих случаях .

Я ранее вручную создал каталог / media / Backup, и он все еще существует. Каталог необходим для того, чтобы мой сценарий резервного копирования мог подключить этот диск до запуска резервного копирования. Как я уже сказал, это работало так, как предполагалось до некоторых последних обновлений системы. Я хочу, чтобы диск монтировался в одном и том же месте в обеих вышеописанных ситуациях.

Однако, с недавними обновлениями системы (по-видимому, стек LTS Raring HWE) диск монтируется в / media / myusername / Backup из Dolphin, если я монтирую его из Dolphin как обычный пользователь. Он монтируется как / media / root / Backup, если я монтирую его как пользователь root.

Существует множество способов, с помощью которых новая схема Ubuntu может дать сбой в моем сценарии. Фактически, это происходит из-за сбоя, и мои ночные резервные копии больше не происходят. Я не буду перечислять все способы, которые я видел, пока что это не помогло в моем устранении неполадок. Я просто хотел бы восстановить предыдущее поведение для этого диска или добиться чего-то, что надежно работает в новой системе. В частности, я хотел бы видеть следующее:

  1. диск не монтируется при загрузке и не монтируется, если / пока не потребуется.
  2. независимо от того, был ли он смонтирован моим обычным пользователем через Dolphin или через скрипт, запущенный от имени root, диск всегда монтируется в одном и том же месте (поэтому мой резервный скрипт может его найти).
  3. Если диск еще не был смонтирован (то есть через Dolphin), мой скрипт резервного копирования (запускаемый от имени root) может смонтировать его в нужном месте и затем продолжить резервное копирование.
  4. Права доступа к файлам для файлов и каталогов на смонтированном диске работают должным образом

Вот все, что мне было нужно в моем корневом crontab ранее. Я бы хотел, чтобы это снова заработало.

00 03 * * * mount -L Backup /media/Backup >> /var/log/backup.log
05 03 * * * /opt/storeBackup/bin/storeBackup.pl -f /configfile

Я предпочитаю не менять свое общесистемное поведение по умолчанию. Поэтому это решение не кажется идеальным: https://askubuntu.com/a/276670/36661 (и я пока не знаю, есть ли у меня версия udisk, которая бы поддерживала это решение).

Буду признателен за комментарии по этому возможному решению: https://askubuntu.com/a/350399/36661

.
1
задан 13 April 2017 в 15:25

4 ответа

Я дал этот ответ , который может быть лучшим подходом. Однако есть и более простое решение, основанное на новом поведении udisks2 по умолчанию. Переключение Ubuntu с udisks1 на udisks2 - это то, что изначально вызвало мою проблему. Вместо того чтобы вернуться к поведению udisks1, я нашел способ использовать новое поведение по умолчанию в своих интересах.

Ключом к решению является то, что оба следующих монтирований (для одного и того же устройства) могут сосуществовать:

  • / media / myusername / Backup
  • / media / root / Backup

Поэтому, если я изменю свои сценарии резервного копирования на использование /media/root/Backup и всегда буду монтировать устройство в этом месте до резервного копирования, моя проблема будет решена. Я могу продолжать использовать Dolphin, как сейчас, и я могу жить со стандартным (не root) расположением монтирования /media/myusername/Backup. Похоже, они не конфликтуют друг с другом.

Я старался избегать двух креплений для одного устройства, но после тестирования этой опции я обнаружил, что она работает нормально. Это решает проблемы с резервным копированием, которые я видел.

Если кто-то не знает о проблемах, связанных с этим подходом, он может быть моим предпочтительным подходом, поскольку он не меняет новое поведение по умолчанию, он не полагается на какие-либо сценарии (которые всегда требуют обслуживания с течением времени) и гарантирует, что мое резервное копирование не выйдет из строя из-за не монтируемого устройства.

0
ответ дан 13 April 2017 в 15:25

Похоже, у вас есть оставшаяся папка для монтирования, которая не была удалена должным образом. Когда диск отключен, выполните следующую команду из терминала:

sudo rmdir / media / Backup

При следующем подключении внешнего жесткого диска его следует подключить к новому месту. Обратите внимание, что более новые версии Ubuntu будут монтироваться в / media / username / Backup вместо / media / Backup

0
ответ дан 13 April 2017 в 15:25

Вы можете добавить запись для HDD / Разделов в /etc/fstab, тогда она всегда будет монтироваться так, как вам нужно.

Для получения дополнительной информации см. эту документацию .

0
ответ дан 13 April 2017 в 15:25

Я думаю, что лучшим подходом может быть сценарий, созданный в результате обсуждения SuperUser:
https://github.com/fatso83/Code-Snippets/tree/master/system-utils/ubuntu / automount

Мне нравится этот подход, потому что он был отлажен и протестирован довольно широко (и известно, что он работает над версией Ubuntu, которую я использую).

Кроме того, я разделяю мнение первоначального спрашивающего в SuperUser:

Я не хочу вводить все данные в fstab, частично потому, что это утомительно и раздражает, но в основном потому, что Я не могу предсказать, что я подключу к нему или как изменятся разделы в будущем.

Вот файл readme для набора сценариев:

Автоматическое монтирование и размонтирование usb-дисков на основе меток диска

Эти сценарии в основном извлекаются из нескольких ответов в StackOverflow , Информация была распределена по нескольким ответам, а некоторые были немного устаревшими, поэтому я попытался собрать всю информацию и поместить ее здесь .

Было обнаружено, что сценарии работают на Ubuntu 10.10 и 12.04.2 LTS. Если они не работают для вас, попробуйте посмотреть, есть ли советы в исходном обсуждении SO (см. Ниже). Затем вы можете передать мне эту информацию, и, возможно, я включу ее в определенный патч.

Все сценарии должны быть помещены в / usr / local / sbin
Правила udev должны быть помещены в /etc/udev/rules.d/

Для справки, вся информация был разорван из здесь .

0
ответ дан 13 April 2017 в 15:25

Другие вопросы по тегам:

Похожие вопросы: