| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- HOST="vera.uberzach.com"
- LOCK="${TMPDIR}/mountMedia.mounting"
- function findMedia {
- MEDIA=""
- for i in /Volumes/media*; do
- if [ -d "${i}" ] && [ -d "${i}/TV" ]; then
- MEDIA="${i}"
- fi
- done
- }
- # Skip this whole shebang if we've got valid links
- if ~/bin/video/isMediaMounted; then
- exit 0
- fi
- # Check for connectivity (and server live-ness)
- if ! ~/bin/video/timeout -t 2 nc -z "${HOST}" 139 >/dev/null 2>&1; then
- echo "`basename "${0}"`: Host not available: ${HOST}" 1>&2
- exit 1
- fi
- # Connect as needed
- findMedia
- if [ -z "${MEDIA}" ]; then
- LOCKED=0
- touch "${LOCK}"
- read MOUNT_PID < "${LOCK}"
- if [ -n "${MOUNT_PID}" ]; then
- if ps -A -o pid | grep -q "${MOUNT_PID}"; then
- LOCKED=1
- fi
- fi
- if [ $LOCKED -eq 0 ]; then
- echo $$ > "${LOCK}"
- osascript -e 'tell application "Finder" to mount volume "smb://atv@'"${HOST}"'/media"'
- sleep 5
- rm -f "${LOCK}"
- fi
- fi
- # Fix links
- findMedia
- if [ -n "${MEDIA}" ]; then
- if [ -d /mnt ]; then
- if [ -e /mnt/media ] || [ -h /mnt/media ]; then
- rm -f /mnt/media
- fi
- ln -s "${MEDIA}" /mnt/media
- fi
- if [ -e "${HOME}/media" ] || [ -h "${HOME}/media" ]; then
- rm -f "${HOME}/media"
- ln -s "${MEDIA}" "${HOME}/media"
- fi
- else
- echo "`basename "${0}"`: Unable to mount media volume" 1>&2
- exit 1
- fi
- # Add a "Baldwin RAID" link as needed
- if [ ! -h '/Volumes/Baldwin RAID' ]; then
- ln -s / '/Volumes/Baldwin RAID'
- fi
|