Bash shell 代码片段用于检查挂载的 Samba 共享是否繁忙

Bash shell 代码片段用于检查挂载的 Samba 共享是否繁忙
#!/bin/sh

mount -t cifs //192.168.5.90/share -o password='' /mnt/tera_nas

rsync -av --super --delete --recursive /home/ /mnt/tera_nas/home/

# sleep 5m (i want to avoid using this)

# Bash shell snippet to check if mounted Samba share is not busy before issuing umount command

umount /mnt/tera_nas/

答案1

我会使用 -l 标志来延迟卸载它。这将从文件系统中删除挂载点(因此无法启动任何新操作),并且一旦它不再繁忙,就会完成正确的卸载。

答案2

你可以使用 lsof 查看它是否有任何打开的文件描述符

答案3

您可以使用“fuser -m mountpoint”来查看是否有人正在访问该路径。

答案4

2丹尼斯·威廉森

我宁愿使用

umount -l /mnt/tera_nas

在最后。

相关内容