Automatically unmount external HD after Time Machine backup

Discussion in 'Mac Basics and Help' started by archdelux, Nov 30, 2010.

  1. archdelux macrumors 6502

    Joined:
    Oct 12, 2008
    #1
    Hello,

    I've searched online but have been unable to find an adequate solution and was hoping someone could help me.

    I want to plug in my computer into my USB dock, automatically mount my external HD, have TimeMachine do its thing automatically (so far, so good), but then immediately after the backup finishes, I want the computer to automatically unmount the HD. This will allow me to close the laptop and go somewhere without having to constantly eject the HD everytime I unplug the computer.

    So - what I need is a program / script / etc that will tell the computer to eject the drive as soon as TimeMachine is done backing up.

    Any ideas?

    Thanks!!
     
  2. haushinka macrumors newbie

    Joined:
    Aug 10, 2009
    #2
    i've got the same problem. i tried looking online but found little help. the easiest solution i've seen is to hook up the external drive to a network via your router or desktop and then share the drive to your laptop. somehow, time machine is able to auto-mount/umount when it is backing up to a shared drive but unable to do the same when the drive is connected directly.

    if someone else has an elegant solution please post. thanks.
     
  3. 0hy3ah macrumors newbie

    Joined:
    Mar 16, 2011
    #4
    No, from what I've read and know Timemachine is a set it and forget it. It's not very customizable-except to choose what files you DON'T want backed up. Maybe some day someone will develop an app or program for that!
     
  4. whiteatom macrumors newbie

    Joined:
    Jul 20, 2011
    #5
    I have written a script that just mounts runs and unmounts 15 mins later.. it's the best I can do. It's only been a problem today after the lion upgrade.. more then 15 mins of crap to back up. I'd love to know if there is a way to tell when TimeMachine is done.. I had hoped the terminal would lockup until it was complete.. but the backed-helper exists as soon as Time Machine starts copying files.

    Anyway.. here's my Applescript for anyone who wants it (adapted from somewhere on the internet...):
    Code:
    set myVolumeLabel to "Backup"
    
    tell application "GrowlHelperApp"
    	set the allNotificationsList to {"Disk Mounted", "Disk Unmounted", "Disk already mounted"}
    	set the enabledNotificationsList to {"Disk Mounted", "Disk Unmounted"}
    	register as application "Backup Script" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "Time Machine"
    end tell
    
    tell application "Finder"
    	set diskDev to do shell script "diskutil list | grep \"" & myVolumeLabel & "\" | grep -o 'disk[1-9]*' "
    	if not (disk myVolumeLabel exists) then
    		do shell script "diskutil mountDisk " & diskDev
    		tell application "GrowlHelperApp" to notify with name "Disk Mounted" title "Backup Drive Mounted" description "The Backup drive has been successfully mounted." application name "Backup Script" icon of application "Time Machine"
    	end if
    	do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper"
    	delay 300
    	do shell script "diskutil unmountDisk " & diskDev
    	tell application "GrowlHelperApp" to notify with name "Disk Unmounted" title "Disk Unmounted" description "The Backup drive has been successfully unmounted." application name "Backup Script" icon of application "Time Machine"
    end tell
     
  5. brennj4, Jan 8, 2013
    Last edited by a moderator: Jan 8, 2013

    brennj4 macrumors newbie

    Joined:
    Mar 15, 2009
    #6
    2 years later and I am still looking for a solution to this problem. I am constantly forgetting to unmount before I move the computer around. There is no need for it to be mounted all the time. A once a day backup and unmount would be sufficient for me.

    Anyone found a solution to this??
     
  6. abd37 macrumors newbie

    Joined:
    Aug 12, 2014
  7. Alrescha macrumors 68020

    Joined:
    Jan 1, 2008
    #8
    Here's a script I use on a Snow Leopard system. I have not tested it on newer versions of OS X. It's called by launchctl:

    Code:
    #!/bin/sh
    # Check for a backup today, if none then mount the Time Machine volume
    # and wait for Time Machine to run.  When the backup is over, unmount
    # the Time Machine volume and exit.
    
    # Set these variables or else
    TMVOLUME="/Volumes/yourbackupvolume"
    TMUUID="yourbackupvolumeuuid"
    grep -q "Backup completed successfully." /var/log/system.log
    if [ $? = 0 ]
    	then
    		 exit 0
    fi
    
    # No backup yet today.  See if the Time Machine volume is mounted
    # and if it isn't, mount it.
    test -d "$TMVOLUME"
    if [ $? = 1 ]
    	then
    		/usr/sbin/diskutil mount "$TMUUID"
    fi
    
    # Wait a while for Time Machine to wake up and do a backup
    sleep 300
    grep -q "Backup completed successfully." /var/log/system.log
    while [ $? = 1 ]
    	do
    		sleep 300
    		grep -q "Backup completed successfully." /var/log/system.log
    done
    
    # Backup completed, unmount the Time Machine volume and exit
    /usr/sbin/diskutil unmount "$TMUUID"
    
    # Make really sure it unmounted?
    sleep 300
    test -d "$TMVOLUME"
    while [ $? = 0 ]
    	do
    		sleep 300
    		/usr/sbin/diskutil unmount "$TMUUID"
    		test -d "$TMVOLUME"
    done
    	
    exit
    
    A.
     

Share This Page