LINUX.ORG.RU

Проверка директории монтирования

 , ,


0

1

У меня raspberry pi и есть microsd c raspbian с которого загружается система и HDD на который я пишу логи. Я столкнулась с такой проблемой что иногда диск отваливается и логи начинают писаться на флешку в ту же директорию где был смонтирован HDD. Как можно запретить писать логи на флешку, а писать только когда диск смонтирован? Пишу логи очень часто и проверять смонтирован ли диск при каждой итерации возможности нет.

Напишите systemd unit для монтирования вашего HDD и пропишите в запуск сервиса, который пишет логи, зависимость от unit`а монтирования HDD.

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

Можно удалять директорию, в которую монтирование прозводится, например.

Вообще, всё это выглядит как борьба не с причиной, а со следствием.

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

Мне тогда всё равно нужно будет проверять смонтирован ли диск каждый раз, чтобы удалить директорию если диска нет.

BestLinuxoid777
() автор топика
Ответ на: комментарий от BestLinuxoid777

Зачем? Перед монтированием директория создаётся, после отвала - удаляется. Тут есть какой-то пример того, как с этим работать, но мне лень проверять.

Deleted
()

Перемести всю систему на хдд, а не только логи.

fehhner ★★★★★
()

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

а почему нет возможности проверять при каждой итерации? ты из чего логи пишешь? своя программа? сервис какой-то? скрипт на похапе?

можно просто смотреть наличие файла в /dev/disk/by-*

ещё можно смонтировать, перед монтированием диска, в ту же точку какую-нибудь nullfs. или создать симлинк с именем файла-лога на /dev/null в папке, куда монтируешь диск.

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

Пишу я не только логи, но и ещё видео на этот диск. Всё это работает на nodejs. И если проверять каждый раз, то логи пишутся очень медленно, а при записи видео вообще не понятно как проверять, так как пишу через ffmpeg. ffmpeg просто берёт видеопоток и сам режет видео по 60 секунд.

С симлинком идея хорошая, но если будут другие файлы которые я не буду заранее знать как называются, симлинк на них не создать.

ты проверяй перед открытием файла только.

Я при каждой записи открываю, пишу и закрываю файл.

Я запуталась😔

BestLinuxoid777
() автор топика

Предположим маунт в /mnt, тогда логи надо писать в /mnt/log/ при отвале диска директории log/ не будет и запись упадет с ошибкой создания/открытия файла

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

годно.

тс, ещё попробуй просто забрать права на запись у директории mnt перед монтированием: chmod a-w /mnt.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.