Как узнать, не отключен ли смонтированный каталог sshfs?

Я удаленно смонтировал файловую систему с помощью SSHFS в каталог /mnt/sshfs.

Мне нужно выяснить с помощью сценария оболочки, правильно ли работает это монтирование SSHFS или есть проблема connection reset by peer.

Если я попытаюсь получить доступ к такой файловой системе SSHFS, если она находится в «отключенном состоянии», система зависнет и будет ждать, пока не истечет время ожидания.

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


person Frodik    schedule 25.03.2016    source источник


Ответы (2)


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

У вас должна быть возможность указать параметры SSH при монтировании SSHFS, которые указывают такие вещи, как ServerAliveInterval и ServerAliveCountMax (см. man ssh_config), которые завершат ваше SSH-соединение «рано». Также не забудьте использовать TCPKeepAlive, чтобы разорвать соединение, если ваше интернет-соединение прервется.

Я бы сказал, что интересным способом решения проблемы определения состояния соединения было бы расширение sshfs (что на самом деле не так сложно, как модуль FUSE) и добавление ioctl, который вы могли бы запросить, чтобы выяснить, все ли в порядке, без блокировки, если это не так.

person Marcus Müller    schedule 25.03.2016
comment
Что ж, спасибо за ваши усилия, честно говоря, я надеялся на более простое решение :-( - person Frodik; 25.03.2016
comment
извините, я не могу изменить мир для вас :( - person Marcus Müller; 25.03.2016

Я думаю, просто grep команду mount?

if (( $(mount | grep -e 'whatever you like'| wc -l) > 0 ));
then     
echo "mounted"; 
fi
person monkey    schedule 04.06.2019