-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgraSSHopper-cron.rb
27 lines (22 loc) · 1.01 KB
/
graSSHopper-cron.rb
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
27
$brain = "empty"
heart = File.read('/usr/share/grasshopper/commands.cfg')
def think()
$brain = File.readlines('/usr/share/grasshopper/servers.cfg').map do |line|
k, *v = line.split(',').map(&:strip)
[k, v]
end.to_h
end
puts `date >> /usr/share/grasshopper/checker.txt`
puts `echo "---------------------" >> /usr/share/grasshopper/checker.txt`
puts `echo "Command: #{heart}" >> /usr/share/grasshopper/checker.txt`
puts `echo "---------------------" >> /usr/share/grasshopper/checker.txt`
think()
$brain.each do |server, settings|
puts `echo "#{server}" >> /usr/share/grasshopper/checker.txt`
user = settings[0]
port = settings[1]
system("ssh -t -p #{port} #{user}@#{server} '( #{heart} )' >> /usr/share/grasshopper/checker.txt ")
puts `echo "______" >> /usr/share/grasshopper/checker.txt`
puts `cat /usr/share/grasshopper/checker.txt > /usr/share/grasshopper/crontab.txt`
end
puts `echo "~-~-~-~-~-~END OF THIS CHECKING SESSION~-~-~-~-~-~" >> /usr/share/grasshopper/checker.txt`