Здравствуйте!
Разбираюсь сейчас с облачным хранилищем selectel.ru.
Монтирую хранилище через программу cloudfuse.
Сразу после монтирования все обычно нормально - как минимум, небольшие файлы могу легко копировать в хранилище. Проблемы возникают позднее, и их две.
1.
Спустя какое-то время после монтирования (несколько часов), каталог хранилища перестает открываться. При этом хранилище примонтировано, команда mount показывает что монтирование есть:
$ mount
...
fuse on /mnt/storage type fuse (rw,nosuid,nodev,user=user)
Узнать, что каталог перестал открываться можно одним способом - попробовать войти в каталог (cd) и попробовать получить список файлов (ls). Если терминал повиснет, значит нужно перемонтироваться. Терминал виснет так, что даже Ctrl+C не помогает.
Отмонтирование с целью дальнейшего монтирования приходится делать с опциями -f -l, иначе не отмонтируется:
#umount -f -l /mnt/storage
Я не могу придумать способ проверить в шелл скрипте, доступен ли каталог хранилища для работы или нет. Ведь статус через mount нормальный, а при любой попытке доступа к каталогу - полное зависание шела.
2.
Проблема может возникнуть в середине копирования большого файла. То есть, на начало копирования каталог хранилища доступен. В середине копирования (не всегда, вероятность 50/50) все виснет напрочь, как и в п.1.
Я не могу придумать способ копирования так, чтобы было ясно - копирование зависло и не завершилось, или прошло нормально. Каким способом можно в таких нестабильных условиях сделать проверку - копирование зависло, его надо прибить, и скопировать заново?