之前在UnRaid下部署了Emby后,发现由于我的媒体库是在黑群晖的虚拟机上的,而UnRaid下Web界面挂载群晖的SMB没有延迟挂载的相关选项,又或者是本人眼拙没发现,这个问题会导致UnRaid启动阵列后无法成功挂载SMB,这个时候如果启动Emby,就会出现媒体文件全部找不到兼容流的情况,需要再次手动挂载SMB,然后重启一次容器,这个是极其不方便的,所以编写了这个脚本,基本来实现这个功能,下面直接放代码内容。
#!/bin/bash
IP_ADDRESS="群晖的IP地址"
SHARE_NAME="SMB共享名称"
DELAY_TIME=60
while true; do
if ping -c1 $IP_ADDRESS &> /dev/null; then
sleep $DELAY_TIME # 延迟20秒后挂载SMB共享,用于确保部分插件在群晖开机后成功启动再挂载,比如CloudDrive2
mkdir /mnt/remotes/DS920_网盘 ​#自定义创建挂载目录
mount -t cifs //群晖IP/SMB路径 /mnt/remotes/DS920_网盘 -o rw,username=群晖用户账号,password=群晖用户密码,iocharset=utf8,uid=0,gid=0,vers=3.0
sleep 5s
docker start Emby NAS-Tools ChineseSubFinder ​#按需修改在挂载后自动启动的容器
break
else
sleep $DELAY_TIME
fi
done
将脚本放在/boot/config/plugins/user.scripts/scripts/下