Saya menggunakan ruby dengan permata net-scp dan net-ssh untuk mengotomatiskan tugas dengan peralatan jaringan kami. Ini adalah skrip yang cukup pendek untuk menjalankan perintah (kutipan, bukan produk jadi):
begin
Net::SSH.start(fqdn, username, :password => loginPassword) do |session|
output = ""
channel = session.open_channel do |ch|
ch.send_channel_request "shell"
ch.on_data do |ch, data|
output += data
end
ch.send_data "conf t\n\r"
#Some tasks here
ch.send_data "exit\n\r" #Exit config mode
ch.send_data "exit\n\r" #Exit device
end
# Wait for everything to complete
channel.wait
end
rescue Exception=>e
errorOutput = fqdn + ": " + e.to_s
puts errorOutput
puts output
return device
end
return output
Perlu diingat bahwa Anda harus memiliki variabel loginPassword kosong. Jika kosong, itu akan menggunakan kunci publik RSA Anda untuk login (didukung pada platform HP ProCurve dan Cisco 15.X).
Dengan menggunakan sesuatu seperti git dan beberapa skrip pendek, Anda dapat mengatur semua konfigurasi peralatan Anda dengan berbagai perubahan dan siapa yang membuat perubahan (dengan asumsi insinyur Anda menarik konfigurasi dan mengkomitnya setelah pekerjaan selesai).
Juga harus berjalan tanpa berkata, tetapi untuk berjaga-jaga, selalu menguji kerja skrip di laboratorium sebelum dijalankan pada peralatan produksi. Terutama ketika menjalankan perintah dan mengubah konfigurasi. Tes tes tes.