1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# free space
df = `df`
df.each_line do |line|
  if line.match(/^(\S*).*?(\d+)\%/)
    volume, utilized = $~.captures
    puts "#{utilized}% used on #{volume}"
  end
end

# load average
if `uptime`.match(/(\d+.\d+)\s+(\d+.\d+)\s+(\d+.\d+)/)
  short, med, long = $~.captures
  puts "snapshot load: #{short}"
  puts "5 minute load average: #{med}"
  puts "10 minute load average: #{long}"
end

if `free -b`.match(/Mem:\s*(\d+)\s+(\d+)\s+(\d+)/)
  total, used, free = $~.captures
  puts "Free RAM: #{free}"
end

# last five reboots
reboots = `last | grep reboot`.split(/\n+/)[0..4]
puts "reboots: #{reboots.join("\n")}"