Ruby
Publicado por Davi Rodrigues 01/05/2009
[ Hits: 6.264 ]
Homepage: http://br.linkedin.com/pub/davi-rodrigues/23/319/68b
Pessoal, estou colocando esse script na área de C/C++ pois é o mais proximo de ruby que vejo nas opções. Acho que deveríamos abrir um espaço para o ruby galera...
Vamos lá, eu fiz esse script por que tenho uma rede onde é bloqueada a porta 80 que o APT usa, e as estações usando linux não conseguiam atualizar os pacotes. Então eu criei esse script para suprir minha necessidade.
Ele entra no host via ssh, roda um comando tipo "apt-get update; apt-get upgrade" em um horário específico.
1 #!/usr/bin/ruby1.8
2 =begin
3 Script feito por
4 @Davi Rodrigues
5 Data 21/01/2009
6 =end
7 require 'net/ssh'
8 require 'ping'
9 #Definição do ip do host
10 @HOST="127.0.0.1"
11
12 # Verifica se o host esta ativo, com um echo tcp.
13 if Ping.pingecho("#{@HOST}", 22)
14 # Faz a conexão via ssh, e execulta o comando no host remoto.
15 Net::SSH.start("#{@HOST}", "davi", :password => "123") do |ssh|
16 result = ssh.exec!("apt-get update; apt-get upgrade")
17 #Ira mostrar na sua tela o resultado do comando passado, caso nao precise é só comentar.:P
18 puts result
19 end
20 # Caso o host remoto não esteja disponivel, vai ser gerado essa menssagem.
21 else
22 puts "O Host #{@HOST} esta fora do ar, e não foi possível conectar via ssh!"
23
24 end
25
Usando sockets para monitorar servidores
Connect - um simples programa para atravessar proxys Socks
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









