Как определить, подключен ли уже внешний диск?

У меня есть скрипт, который каждую ночь выполняет резервное копирование файлов на внешний диск. Проблема в том, что Nautilus автоматически монтирует внешний диск, и при запуске скрипта не удается монтировать внешний диск.

Точка монтирования, которую сценарий создает в /mnt/mirror, и точка монтирования, которую создает Наутилус, - /mnt/mirror_

Как определить, подключен ли уже внешний диск?

1
задан 13 October 2012 в 14:29

1 ответ

Наутилус монтирует его к /mnt/mirror_ потому что /mnt/mirror кажется, уже используется.

  1. Вы могли отредактировать /etc/fstab и добавьте строку, таким образом, что Ваш внешний диск смонтирован к /mnt/mirror каждый раз.

    UUID="12345-67890" /mnt/mirror vfat defaults,auto,users,rw 0 0

    Измените vfat если Ваше использование другая файловая система.
    Вы находите свой UUID и тип файловой системы с командой sudo blkid.
    После включения или cick на записи в наутилусе или монтируют использование команды mount /mnt/mirror.
  2. Еще сделайте следующее:
    Используйте mount команда, которая возвращает текущее монтирование Вашей системы.

    Шоу все текущее монтирование:
    mount

    Отфильтровывает монтирование, содержащее зеркало слова:
    mount | grep "mirror"

    Для использования его в сценарии, можно сделать следующее:
    mounted=$(mount | grep "mirror")
    [ ! "$mounted" = "" ] && { echo -e "mirror mounts:\n$mounted"; }

    Не будет никакого вывода, если никакие не смонтируются, найден содержащий "зеркало".

Примечания:

  • Можно было также смонтировать диск к нескольким точкам монтирования одновременно при использовании типов файлов кроме ntfs. Вы могли смонтировать его к /mnt/mirror независимо от /mnt/mirror_.
    При использовании ntfs, удостоверьтесь, что сначала размонтировали раздел с sudo umount /mnt/mirror_.
  • замените "зеркало" чем-то еще, что Вы знаете об устройстве, например, "sdb".
  • проверьте, смонтирован ли какой-либо раздел Вашего последнего включенного съемного диска:
    last_dev=$(dmesg | grep "removable" | sed -e 's/.*\[//g' -e 's/\].*//' | tail -n1)
    mounted=$(mount | grep $last_dev)
    echo -e "last removable disk mounts\n:$mounted"
4
ответ дан 13 October 2012 в 14:29

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

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