Время от времени по неизвестным причинам происходит сбой монтирования Amazon S3 Fuse на Linux-сервере в течение дня. Единственное разрешение - umount
, а затем снова mount
каталог. Я попытался написать следующий сценарий оболочки, который при ручном размонтировании работал и перемонтировался, но я узнал, что должно быть какое-то другое «состояние», когда ссылка не работает, но на самом деле не размонтирована.
Исходная ошибка:
[root@app3 mnt]# cd s3fs
[root@app3 s3fs]# ls
ls: cannot access amazon: Transport endpoint is not connected
amazon
[root@app3 s3fs]# umount amazon
[root@app3 s3fs]# mount amazon/
Сценарий оболочки пытается проверить монтирование и перемонтирование в случае сбоя (работало в ручных тестах, но не удалось):
#!/bin/bash
cat /etc/mtab | grep /mnt/$1 >/dev/null
if [ "$?" -eq "0" ]; then
echo /mnt/$1 is mounted.
else
echo /mnt/$1 is not mounted at this time.
echo remounting now...
umount /mnt/$1
mount /mnt/$1
fi
- Почему сценарий оболочки будет работать, если я вручную размонтирую каталог и запущу тест, но когда конечная точка транспорта не работает, тест возвращает значение true, а перемонтирование не происходит?
- Каков наилучший способ решить эту проблему?