Ruby system administration scripts
Mar 22
2008
2008
Comments Off
OS users:
users = File.new("/etc/passwd").collect{|x| x.split(':')[0]}
Number of files in directory:
puts %x{ls}.split(/\n/).size puts %x[ls|wc].split(/\s+/)[1]
Network interfaces:
inet = Hash.new{|h,k| h[k.split(/\s/)[0]] = k.scan(/addr:(\d+\.\d+\.\d+\.\d+)/)[0].to_s} %x[ifconfig].to_s.split("\n\n").collect{|x| inet[x]} # dump the structure: puts inet.inspect
to be continued….