Archive
Rebooting an Airport Extreme via AppleScript.
After the latest firmware update for my saucer-shaped Airport Extreme base station, I’ve found myself rebooting my Airport on a much more regular basis than I had before. Before the update, I was rebooting it once in a blue moon. Now, I’m rebooting it once every couple of days. The routine goes something like this:
*Get home*
*Wife fires up her laptop*
“Honey, the internet’s broken.”
*I trudge down to my basement office and power-cycle the base station*
*Walk back up*
“Is it working now?”
“Yup.”
This got old fast, so I started thinking about ways to reboot my Airport base station nightly, preferably without human involvement. A quick Google showed surprisingly few people trying to accomplish this, but the nice folks who had also posted their AppleScripts. I’m hardly an AppleScript master, but I was able to pull together the following script using this entry from MacOSXHints, as well as this one from David Chan.
———–
tell application "AirPort Utility" to activate delay 2 tell application "System Events" tell application process "AirPort Utility" tell window 1 click button "Manual Setup" delay 60 end tell tell menu bar 1 click menu bar item "Base Station" tell menu bar item "Base Station" tell menu 1 click menu item "Restart…" end tell end tell end tell delay 1 --imperative delay 30 end tell end tell tell application "AirPort Utility" to quit
———–
I later added the ability to log to a file in ~/Library/Logs by using this additional script from MacOSXHints, so my current script looks like this:
———–
set commonScript to load script alias ¬ ((path to library folder from user domain as string) ¬ & "Scripts:Common code.scpt") tell application "AirPort Utility" to activate delay 2 tell application "System Events" tell application process "AirPort Utility" tell window 1 click button "Manual Setup" delay 60 end tell tell menu bar 1 click menu bar item "Base Station" tell menu bar item "Base Station" tell menu 1 click menu item "Restart…" end tell end tell end tell delay 1 --imperative delay 30 end tell end tell tell application "AirPort Utility" to quit log_event("Basement Airport Extreme restarted") of commonScript
———–
The last piece of the puzzle was figuring out how to trigger it, but iCal came to the rescue. Maria Langer posted a good write-up on how to do this up on her site, which I was able to use to help me set up a recurring appointment at 12:00 AM every day to reboot the Airport, with the alarm for the event triggering the script that actually reboots the Airport.
Recent Comments