LINUX.ORG.RU
решено ФорумAdmin

Правильный способ проверить, смонтировался ли диск

 , ,


1

1

У меня на столе валяется Cubieboard с воткнутым жестким диском.

На этот диск надо писать информацию. Если диск не воткнут, то очень жаль, но ничего писать никуда нельзя, потому что система загрузилась с флешки и всё плохо.

Вопрос: как правильнее всего проверить, что в /storage смонтирован HDD/SSD?

погрепать mount или поиграть с правами, типа сделать /storage одному юзеру, а монтировать под другим пользователем?

как правильнее всего проверить, что в /storage смонтирован HDD/SSD?

/proc/mounts ?

init_6 ★★★★★
()

Я бы проверил путь после монтирования. Можно какой-то каталог/файл маркер создать. Заодно это будет показателем того, что файловая живая.

handbrake ★★★
()
Ответ на: комментарий от handbrake

Типа так?

#!/bin/bash

mountpoint="/media/OS"
testdir="$mountpoint/mydir"


echo $testdir

if $(mountpoint -q $mountpoint && test -d $testdir)
then
  echo "$mountpoint is a block device. And $testdir is Directory"
else
  echo "Something wrong ...."
fi
black_13
()
Ответ на: комментарий от black_13

Ваще, mountpoint кажись что надо.

Создавать каталог-маркер под точкой монтирования опасно: ведь он может создасться по ошибке на рутовом разделе.

Мне ещё одна мысль в голову пришла: можно посмотреть на device_id у /storage и у /storage/some_file и если они одинаковые, то не писать туда.

max_lapshin ★★★★★
() автор топика

troll mode activated

[Unit]
Description=The payload
Requires=storage.mount

[Service]
ExecStart=/path/to/executable

[Install]
WantedBy=multi-user.target
intelfx ★★★★★
()
Ответ на: комментарий от max_lapshin

Создавать каталог-маркер под точкой монтирования опасно: ведь он может создасться по ошибке на рутовом разделе.

Сфига-ли у нас в «/» что-то случайно (!) создастся, тем более в ембеде. Это где такие шальные md -p от рута водятся ?

handbrake ★★★
()
Ответ на: комментарий от max_lapshin

Доп проверка после mountpoint-а мне кажется уже параноя.

Думаю чегото такого с головой хватит:

if $(mountpoint -q $mountpoint)
then
  rsync /чтото $mountpoint/кудато || echo "Error ... Error"
else
  echo "Something wrong .... Like $mountpoint not mounted"
fi

Или вы хотите обезопаситься от случая когда в $mountpoint будет случайно смонтировано не то что нужно устройство?

black_13
()
Ответ на: комментарий от anonymous

Анонимус такой анонимус. Какой нафиг скрипт? Я показал корректный способ запуска произвольного приложения с условием наличия примонтированного /storage, т. е. ответил на вопрос ТСа одним из способов.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.