Add original scripts
This commit is contained in:
77
iso_mount.sh
Executable file
77
iso_mount.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/sh
|
||||
MOUNT_DVD="/bin/mount -t iso9660 -o ro,loop"
|
||||
MOUNT_BD="/bin/mount -t udf -o ro,loop"
|
||||
UMOUNT="/bin/umount"
|
||||
LOSETUP="/usr/local/sbin/losetup"
|
||||
ISO_CONF="/etc/config/iso_share_mapping"
|
||||
MAX_NUM=256
|
||||
|
||||
mount_iso()
|
||||
{
|
||||
for (( i=1; i<=$MAX_NUM; i=i+1 ))
|
||||
do
|
||||
/bin/grep "\[ISOShare$i\]" /etc/config/iso_share_mapping 1>/dev/null 2>/dev/null
|
||||
[ $? = 0 ] || continue
|
||||
#echo "Mount ISOShare$i"
|
||||
auto_mount=`/sbin/getcfg ISOShare$i Auto_mount -d TRUE -f $ISO_CONF`
|
||||
if [ "$auto_mount" == "TRUE" ]; then
|
||||
source=`/sbin/getcfg ISOShare$i Source -d none -f $ISO_CONF`
|
||||
if [ "$source" != "none" ]; then
|
||||
dest=`/sbin/getcfg ISOShare$i Dest -d none -f $ISO_CONF`
|
||||
type=`/sbin/getcfg ISOShare$i Type -d none -f $ISO_CONF`
|
||||
if [ "$type" == "iso9660" ] && [ "$dest" != "none" ]; then
|
||||
/bin/df | /bin/grep "$dest" 1>/dev/null 2>/dev/null
|
||||
if [ $? != 0 ]; then
|
||||
$MOUNT_DVD "$source" "$dest" 2>/dev/null
|
||||
fi
|
||||
# if [ $? != 0 ]; then
|
||||
# /sbin/iso_check -d "$dest" 1>/dev/null 2>/dev/null
|
||||
# fi
|
||||
elif [ "$type" == "udf" ] && [ "$dest" != "none" ]; then
|
||||
/bin/df | /bin/grep "$dest" 1>/dev/null 2>/dev/null
|
||||
if [ $? != 0 ]; then
|
||||
$MOUNT_BD "$source" "$dest" 2>/dev/null
|
||||
fi
|
||||
# if [ $? != 0 ]; then
|
||||
# /sbin/iso_check -d "$dest" 1>/dev/null 2>/dev/null
|
||||
# fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
unmount_iso()
|
||||
{
|
||||
for (( i=1; i<=$MAX_NUM; i=i+1 ))
|
||||
do
|
||||
/bin/grep "\[ISOShare$i\]" /etc/config/iso_share_mapping 1>/dev/null 2>/dev/null
|
||||
[ $? = 0 ] || continue
|
||||
#echo "Unmount ISOShare$i"
|
||||
source=`/sbin/getcfg ISOShare$i Source -d none -f $ISO_CONF`
|
||||
if [ "$source" != "none" ]; then
|
||||
dest=`/sbin/getcfg ISOShare$i Dest -d none -f $ISO_CONF`
|
||||
loop_dev=`/bin/cat /proc/mounts | /bin/grep loop | /bin/grep "${dest}" | /bin/awk '{print $1}'`
|
||||
$UMOUNT "$dest" 2>/dev/null
|
||||
$LOSETUP -d "$loop_dev" 2>/dev/null
|
||||
fi
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
mount_iso
|
||||
;;
|
||||
stop)
|
||||
/bin/grep "/dev/loop" /proc/mounts 1>/dev/null 2>&1
|
||||
[ $? != 0 ] || unmount_iso
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
/bin/echo "Usage: /etc/init.d/iso_mount.sh {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
Reference in New Issue
Block a user