Обнаружение, что устройство смонтировано к конкретной папке?

Вы могли также установить псевдоним для chromium-browser вместо этого работать chromium-browser 2> /dev/null

например, если Вы используете удар, редактируете/home/username/.bashrc и добавляете строку:

chromium-browser='chromium-browser 2> /dev/null'

или еще лучше

chrome='chromium-browser 2> /dev/null'

и сохраните некоторые нажатия клавиш.

5
08.04.2011, 02:09
3 ответа

Можно запустить резервный скрипт как этот в кроне

fgrep -q /mnt/backup /proc/mounts && backup.sh

Но лучше добавьте тест в своем сценарии, для входа неудачных попыток

3
27.01.2020, 20:40
  • 1
    Прекрасный, точно что я искал!Спасибо! И положительная сторона у входа неудачных попыток в сценарии. На самом деле я должен установить его до электронной почты меня любые ошибки, как я в значительной степени "устанавливать-и-забывать" этот сервер, пока я случайно не замечаю, что что-то произошло (когда жесткий диск перестал работать, я не заметил больше дня и в результате новый ежедневный снимок был поврежден все к черту!). –  Kromey 08.04.2011, 01:29

Вот два способа проверить ли /mnt/backup точка монтирования. /proc/mounts метод характерен для Linux, df метод является портативным ко всем системам Unix; кроме этого нет никакой основной причины предпочесть один или другой. Оба могут перестать работать в угловых случаях, когда точка монтирования содержит пробел (просто …, не делают этого!).

case $(df -P /var) in *" /var") echo mounted;; esac
if fgrep -q " /tmp " </proc/mounts; then echo mounted; fi

Обратите внимание, что можно присвоить конкретное имя устройства конкретному съемному диску, на основе критериев такой порядковый номер устройства, файловая система UUID или маркировка файловой системы (последний мог быть надежным индикатором). Все это взятия является одна строка в udev конфигурации. Но в то время как это было бы хорошей идеей упростить монтирование на соответствующей точке монтирования, полагаться на присутствие устройства бесполезно: устройство могло присутствовать, но не смонтировано, поэтому если Ваш сценарий зависит от смонтированного устройства, это должно проверить точку монтирования.

2
27.01.2020, 20:40

Существует другой (лучше?, более безопасный?) способ достигнуть того, что Вы хотите сделать. Вместо того, чтобы проверить, смонтирован ли Ваш резервный диск, почему бы не оставить включенным, но размонтировался, когда это на самом деле не используется.

Это, вероятно, лучше для диска (некоторые будут просто покоиться), и он избегает случайного доступа к нему. Задание крона может mount это, когда это запускается и umount это, когда это заканчивается. Это может быть сделано как обычный пользователь с командами mount /mnt/backup и umount /mnt/backup, если Вы описали то, из чего Вы хотите в записи /etc/fstab. Запись должна включать опцию users если монтирование сделано как обычный пользователь. Теперь нужно только обнаружить, включается ли диск на самом деле. mount команда скажет Вам что путем сбоя с ошибкой 32 для попытки смонтировать отключенный диск (существуют другие причины для той ошибки также).

Последняя точка должна сказать/etc/fstab, как сделать задание. Как Вы заметили, Вы не можете полагаться на имя устройства, так как оно изменяется все время. Но фактическое устройство может быть распознано за себя. В случае жесткого диска разделы имеют имя, которое может быть определено соответствующими инструментами, такой как blkidили vol_id. Команда blkid будет работать на обычного пользователя, звонящего /sbin/blkid. (BTW, это работает также на DVD).

Например, у меня есть диск с двумя разделами, в настоящее время на устройстве /dev/sdc. Я получу "UUID" первого раздела путем вызова как суперпользователь:

$ /sbin/blkid /dev/sdc1
/dev/sdc1: UUID="7aeb2d15-9a1b-410a-b5ed-5437e68cb528" SEC_TYPE="ext2" TYPE="ext3" 

Затем я добавляю к /etc/fstab строка

UUID="7aeb2d15-9a1b-410a-b5ed-5437e68cb528" /mnt/backup ext3 users,noauto,rw,relatime,data=ordered

и /etc/fstab предоставит правильную информацию mount /mnt/backup смонтировать правильный раздел (при наличии) на /mnt/backup. То же идет для umount.

Unfortumately, это работает, только если у Вас есть единственный резервный DVD. Причина состоит в том что mount /mnt/backup команда будет использовать первую запись в /etc/fstab это имеет /mnt/backup как точка монтирования. Если это, оказывается, не соответствует диску, Вы включили, это перестанет работать, не ища дальнейшие записи, которые могли бы сделать задание с другим диском для той же точки монтирования (я действительно задаюсь вопросом почему).

Решение состоит в том, чтобы связать все диски с резервной копией с /mnt/backup как точка монтирования в /etc/fstab. Сценарий (даже в режиме обычного пользователя) может попытаться смонтировать каждый раздел диска с резервной копией с mount -U 'xxxxxxx', когда xxxxxxx UID того диска (раздел), используемый для идентификации его в /etc/fstab. Если один из дисков с резервной копией будет включен, то сценарий в конечном счете успешно выполнится.

Обратите внимание, что это также предотвратит случайное разрушение диска, принятого за диск с резервной копией. Если Вы включите диск, который не известен Вашему сценарию, то сценарий будет не мочь смонтировать его, даже если диск будет иметь запись в /etc/fstab.

Другая (еще более простая) возможность, которая будет проверена (я никогда не использовал это) состоит в том, чтобы использовать команду mount -a -O my_option это смонтирует все диски для который /etc/fstab запись включает опцию 'my_option'. И конечно необходимо добавить что опция в каждой записи для диски с резервной копией в /etc/fstab. Риск с этим состоит в том, что, если два диска с резервной копией включаются, они могут быть смонтированы друг на друге на /mnt/backup. Это не должно быть проблемой как, только второй, на вершине, будет visble. Но я не уверен, как осторожный должен быть должен удостовериться, что оба демонтированы в конце. Некоторое экспериментирование, вероятно, в порядке.

Однако это кажется этим mount -a -O my_option доступно только суперпользователю, даже для устройства, согласно которому могли смонтироваться обычные пользователи /etc/fstab. Снова, интересно почему.

0
27.01.2020, 20:40

Теги

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