На этот вопрос уже есть ответ здесь:
У меня есть сервер Ubuntu, на котором я автоматически монтирую внешний жесткий диск при каждой загрузке.
Для этого я создал пустую папку в корневом разделе, и диск монтируется «внутри» этой папки.
Но что, если я выполню резервное копирование по этому пути, когда диск не смонтирован должным образом? Вместо этого резервная копия заполнит мой корневой раздел!
Я могу гарантировать, что диск монтируется каждый раз, выполняя:
sudo mount -a
... перед каждым резервным копированием.
Однако каковы наилучшие методы обеспечения того, чтобы данные никогда не записывались в пустую папку монтирования (кроме случаев, когда внешний жесткий диск действительно смонтирован)?
Можно ли решить эту проблему без сценариев? Скажите с разрешениями например? Каковы лучшие практики?
Я иду еще дальше и всегда устанавливаю атрибуты моих каталогов точек монтирования как неизменяемые, используя chattr .
Это достигается с помощью chattr + i / mountpoint
(с размонтированным монтированием).
Это приведет к ошибке при новой операции записи, а также защитит точку монтирования в других ситуациях.
Но я полагаю , что вы также можете использовать команду mountpoint ;)
Чтобы расширить комментарий об использовании точки монтирования
, это примерно то, что я использую в сценариях, когда мне нужно проверить такие вещи:
DEST='/mnt/backup'
if ! mountpoint -q "$DEST" ; then
echo "Destination is not mounted; attempting to mount"
mount $DEST
if ! mountpoint -q "$DEST" ; then
echo "Unable to mount $DEST; Aborting"
exit 1
fi
echo "Mounted $DEST; Continuing backup"
fi
Это предполагает, что $ DEST находится в / etc / fstab
; не имеет значения, является ли это точкой монтирования auto
или noauto
.
Согласно странице руководства mount
:
Если только каталог или устройство дается, например:
mount / dir
затем mount ищет точку монтирования и, если она не найдена, устройство в файле / etc / fstab. Можно использовать параметры --tar ‐ get или --source, чтобы избежать неоднозначной интерпретации данного аргумента. Например
mount --target / mountpoint