Automatizar a execução de um comando na máquina remota com arquivo de entrada

0

Eu preciso automatizar o seguinte fluxo de trabalho.

  1. Copiando um arquivo (digamos inputfile.txt ) para uma máquina remota (ip fixo) por SSH

  2. Efetuando login na máquina remota por meio do SSH (usando o Visualizador de Área de Trabalho Remota do Ubuntu)

  3. Executando um comando específico com esse arquivo ( inputfile.txt ) como parâmetro.

    mycommand -option inputfile.txt
    

Eu preciso ser capaz de clicar com o botão direito do mouse no arquivo e escolher o item do menu de contexto "Executar meu mycommand" (Nautilus), que executará o comando na máquina remota. (e esperamos mostrar uma caixa de mensagem com o resultado - não é necessário)

Precisa de sugestões sobre como fazer isso.

EDITAR: Descobri que a cópia funciona dessa maneira. Qualquer ideia sobre como integrar o menu do Nautilus. Além disso, o seguinte comando solicita senha

scp -r inputfile.txt [email protected]:/home/userremote/Documents

    
por darthvader 12.07.2011 / 03:24

1 resposta

0

Programas GUI nem sempre são facilmente automatizados.

O primeiro desafio é o script nautilus.
O que contém?

cat ~/.gnome2/nautilus-scripts/mycommand

Talvez você possa fazer isso de uma maneira mais direta.

cat inputfile.txt | ssh REMOTE "mycommand"

ou

cat inputfile.txt | ssh REMOTE "cat - > tmp.txt; ~/.gnome2/nautilus-scripts/mycommand -option tmp.txt"

ou com dois comandos, scp primeiro.

    
por 12.07.2011 / 05:53