我一直在创建一个 shell 脚本,以便在需要时恢复我们的 Azure 文件共享。以前我们手动执行这些任务,这样做没有问题,但我们决定将这些任务自动化。
话虽如此,脚本看起来是这样的:
#!/bin/bash
SHELL=/bin/bash
dest_folder=$1
environment=$2
for df in $dest_folder*
do
sudo umount $df/ && \
while [ "$(mountpoint $df/)" != "$df/ is not a mountpoint" ];
do echo "Executing umount: $(mountpoint $df/)"
sleep 1
done && echo "Umount executed"
done
sudo rm -r $dest_folder*
mkdir -p /path/data/fileshare
### replace with command to mount fileshare ###
mount -a
mkdir -p /path/data/globalconfig
### replace with command to mount fileshare ###
mount -a
当前的问题是,有时执行此脚本时,它会正确地卸载,但有时它会在没有任何逻辑原因的情况下卡在安装文件共享,从而导致echo“...不是挂载点”。我不知道在这种情况下会发生什么
任何帮助都将不胜感激。谢谢!