是否有用於實現遠程命令行界面的現有庫?使用Ruby/Python實現遠程命令行界面
例如
考慮的gitolite
的情況下,當你做一個git push origin
,將ssh到遠程服務器,並執行一些代碼(即hooks
,需要整個交易沒有服務器。
我要存檔是什麼類似的東西,如
./remote get_up_time
它將調用SSH到遠程計算機,但執行該腳本get_up_time
已經部署
是否有用於實現遠程命令行界面的現有庫?使用Ruby/Python實現遠程命令行界面
例如
考慮的gitolite
的情況下,當你做一個git push origin
,將ssh到遠程服務器,並執行一些代碼(即hooks
,需要整個交易沒有服務器。
我要存檔是什麼類似的東西,如
./remote get_up_time
它將調用SSH到遠程計算機,但執行該腳本get_up_time
已經部署
假設ssh
安裝和公鑰是在遠程服務器上(因此,你不需要提供密碼),這將是一個粗糙的實現:
#!/usr/bin/env ruby
host = ARGV.shift
command = ARGV.join(' ')
IO.popen("ssh #{host} \"#{command}\"") do |io|
io.sync = true
io.readlines.each { |line| puts line }
end
可用,如:
$ ./remote.rb www.example.com ls -l
您可以根據需要擴展此功能以提供額外的功能,例如從標準輸入讀取密碼或提供ssh
。
雖然看起來有「無服務器」,但遠程系統上肯定有一個sshd
(遠程服務器)運行,可以使其工作。
如果您不想使用ssh
,則需要使用遠程計算機上運行的其他服務器或自行編寫。
紅寶石standa RD分佈提供的DRb又名分佈式紅寶石:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/drb/rdoc/DRb.html
你想要一個完整的遠程命令行還是隻需要能夠遠程執行一個命令? – tMC 2012-08-11 03:39:32