Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- amn="AutoMount"
- logger -t "$amn" "Started."
- [ -f /etc/config/automount ] || echo "mnt_label='mnt'
- am='Enabled'
- as='Enabled'
- atr='Enabled'
- adlna='Enabled'">/etc/config/automount
- . /etc/config/automount
- share_dir='/share'
- mnt_dir='/mnt'
- current=$(egrep -o "/dev/sd[a-z]*[0-9]*|/dev/mmcblk[0-9]*p[0-9]*" /proc/mounts /proc/swaps | cut -d: -f2- | tr '\n' '|' | sed "s/|$//")
- [ "$current" ] || current="ˇ^˘"
- blkids=`blkid | egrep -v "$current" | egrep "/dev/sd[a-z]*[0-9]*|/dev/mmcblk[0-9]*p[0-9]*"`
- runchk(){
- ps | grep -i "$1" | grep -v grep
- }
- DL_dir=`grep download_dir /etc/config/transmission | sed "s|.*dir ||" | tr -d "'\""`
- DLNA_dir=`grep media_dir /etc/config/minidlna | sed "s|.*dir ..,||;s|.*dir .||" | tr -d "\"'"`
- [ "$am" != "Enabled" -a "$as" != "Enabled" ] && exit 0
- echo "run">/tmp/usb_pnp_run
- if [ "$share_dir" != "/" ];then
- for i in `ls "$share_dir" | egrep -v "$(mount |grep "$share_dir" |sed "s|.*$share_dir/||;s| type.*||" | tr '\n' '|' | sed "s/|$//")"`
- do
- rmdir "$share_dir/$i"
- logger -t "$amn" "$share_dir/$i directory removed."
- kill=1
- done
- fi
- for j in `echo "$blkids" | egrep -o "/dev/sd[a-z]*[0-9]*|/dev/mmcblk[0-9]*p[0-9]*"`
- do
- label=`echo "$blkids" | grep "$j.*LABEL" | sed 's/.* LABEL=.//;s/" .*//'`
- type=`echo "$blkids" | grep "$j.*TYPE" | sed 's/.* TYPE=.//;s/" .*//'`
- uuid=`echo "$blkids" | grep "$j.*UUID" | sed 's/.* UUID=.//;s/" .*//'`
- if [ "$type" != "swap" -a "$am" = "Enabled" ];then
- [ "$type" = "ntfs" ] && opt="-o big_writes"
- if [ ! "`mount | grep $j`" ];then
- if [ "$(echo "#$label#$uuid#" |grep "#$mnt_label#")" -a ! "`mount | grep -w "$mnt_dir"`" -a "$mnt_label" ];then
- mount $opt "$j" "$mnt_dir"
- logger -t "$amn" "$label mounted to $mnt_dir."
- else
- [ ! "`mount | grep -vw "$mnt_dir" | grep "$label"`" -a "$label" ] || label="$uuid"
- mkdir -p "$share_dir/$label"
- mount $opt "$j" "$share_dir/$label"
- logger -t "$amn" "$label mounted to $share_dir/$label."
- fi
- fi
- elif [ "$as" = "Enabled" -a ! "`grep "$j" /proc/swaps`" ];then
- swapon "$j"
- fi
- done
- if [ "$kill" ];then
- [ ! -d "$DL_dir" -a "`runchk transmission`" ] && /etc/init.d/transmission stop && logger -t "$amn" "Transmission stopped." && echo 1 >/tmp/pnp_tr
- if [ "`runchk minidlna`" ];then
- for i in $DLNA_dir;do
- [ ! -d "$i" ] && stop=1 || stop2=1
- done
- [ "$stop" -a ! "$stop2" ] && killall minidlna && logger -t "$amn" "miniDLNA stopped." && echo 1 >/tmp/pnp_dlna
- fi
- fi
- echo "stop">/tmp/usb_pnp_run
- if [ "$blkids" ] && [ -f /tmp/pnp_dlna -o -f /tmp/pnp_tr ];then
- [ "$atr" = "Enabled" -a ! "`runchk transmission`" -a -d "$DL_dir" ] && logger -t "$amn" "Transmission started." && etc/init.d/transmission restart && rm /tmp/pnp_tr
- if [ "$adlna" = "Enabled" -a ! "`runchk minidlna`" ];then
- for i in $DLNA_dir;do
- [ -d "$i" ] && dlnas=1
- done
- [ "$dlnas" = "1" ] && logger -t "$amn" "miniDLNA started." && etc/init.d/minidlna restart && rm /tmp/pnp_dlna
- fi
- fi
- logger -t "$amn" "Stopped."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement