Skip to content

Instantly share code, notes, and snippets.

@sparrovv
Created March 12, 2015 21:49
Show Gist options
  • Save sparrovv/1e88206f7d35e0a69944 to your computer and use it in GitHub Desktop.
Save sparrovv/1e88206f7d35e0a69944 to your computer and use it in GitHub Desktop.
Restart osx airport if no connection to the internet
#!/usr/bin/env ruby
# gem install net-ping
# Usage
# sudo ./wifimonitor.rb
require 'net/ping'
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::DEBUG #Logger::INFO
count = 0
loop do
p1 = Net::Ping::TCP.new('www.google.com', 'http')
unless p1.ping?
logger.info('No ping')
count += 1
sleep 2
if count > 4
logger.info('4th retry, restarting')
# restart wifi
`/usr/sbin/networksetup -setairportpower en1 off`
`/usr/sbin/networksetup -setairportpower en1 on`
logger.info('Waiting 7s')
sleep 7
else
next
end
end
count = 0
sleep 2
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment