( я знаю, что это старый пост, но...)
размонтировать "ленивую" точку монтирования:
umount -l -f /mount/piont
-l, --lazy
Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as
soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)
Это размонтирует устаревшую точку монтирования NFS, и работа сервера не будет мешать устаревшему монтированию NFS.
Имейте в виду, что вам нужно вручную смонтировать общий ресурс NFS, когда он появится снова
Спасибо Кусалананде за указание на ошибку в моих рассуждениях. У меня есть решение моей насущной проблемы. Я опубликую это как ответ, потому что, хотя он и неэлегантен, он решает мою проблему и тем самым может помочь кому-то другому.
Короче говоря, я сделал функцию, которая имеет выбор из 9 возможных источников для получения внешнего IP, вместо отдельных операторов в первом скрипте, который я вызываю. В идеале, поскольку он всегда использует первый вариант, если только я не хочу каждый раз использовать другой, но я не вижу простого способа добиться этого.
#!/bin/bash
# Going to be saved in the scripts directory as function_get_ip.sh then can be included in another script
# just by sourcing this one e.g after the variable definitions in the other script have the line
# source function_get_ip.sh
#define a function to get the current external IP
RetrieveIP1="curl wtfismyip.com/text"
RetrieveIP2="curl ifconfig.me"
RetrieveIP3="curl ifconfig.co"
RetrieveIP4="curl 'https://api.ipify.org?format=txt'"
RetrieveIP5="curl http://wooledge.org/myip.cgi"
RetrieveIP6="curl http://CheckIP=.dyndns.org 2> /dev/null| perl -pe 's,.*Address: (\d+\.\d+\.\d+\.\d+).*,$1,'"
RetrieveIP7="wget -qO - http://ipecho.net/plain | xargs echo"
RetrieveIP8="wget -qO - icanhazip.com"
RetrieveIP9="wget -qO - ipv4bot.whatismyipaddress.com"
CheckIP=0
function get_ip {
IP=$($RetrieveIP1)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=1
else
IP=$($RetrieveIP2)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=2
else
IP=$($RetrieveIP3)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=3
else
IP=$($RetrieveIP4)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=4
else
IP=$($RetrieveIP5)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=5
else
IP=$($RetrieveIP6)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=6
else
IP=$($RetrieveIP7)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=7
else
IP=$($RetrieveIP8)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=8
else
IP=$($RetrieveIP9)
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
CheckIP=9
fi
fi
fi
fi
fi
fi
fi
fi
fi
}
Вызов функции выдает результат $CheckIP с ненулевым значением в случае успеха и $IP с адресом