O problema é o seguinte: quero copiar arquivos de uma máquina remota.
Estou procurando uma maneira de escrever um shell script que se conecte à máquina remota, obtenha a localização do arquivo armazenado, assim que eu obtiver a localização desconectada do servidor remoto e usar scp de dentro da máquina local com a localização obtida para copie o arquivo
Especificamente, eu quero saber como, a partir de um script, eu me conectaria a uma máquina remota, executaria tarefas nessa máquina. Desconecte e continue a execução localmente.
Você pode escrever um script no seguinte formato:
Você precisa configurar as chaves SSH para serem
command3
executadas sem solicitar uma senha.fonte
ssh user@remote command3
estiver em execução,command4
não é possível iniciarssh user@machine command3 &
Suponho que você já tenha alguma idéia de como identificar o arquivo que deseja copiar e que possa ou já tenha escrito um script ou conjunto de comandos que serão executados na máquina remota que faz essa identificação .
Além disso, também assumirei que esses comandos imprimem na saída padrão o caminho completo para o arquivo, ou o caminho relativo para o arquivo, relativo ao diretório inicial do usuário SSH que está sendo usado para a cópia. No meu exemplo, o nome do script é "getfilepath.sh", embora não precise ser um script de shell, pode ser outro executável ou até uma série de comandos.
No código acima, a notação "$ ()" é uma maneira de capturar a saída padrão de um comando como uma variável de shell. É bastante padrão, mas se você estiver usando um shell que não o entende, poderá cercar o comando com "back-ticks", que são as marcas de destaque à esquerda da tecla 1 na maioria dos teclados dos EUA.
fonte
talvez seja possível disparar uma tarefa agendada na máquina remota que faça todo o trabalho.
Isso impediria que você estivesse conectado à máquina remota enquanto pesquisava o local dos arquivos que deseja copiar.
Eu estou fazendo isto:
linha de comando dispara uma tarefa agendada que executa um batchscript no meu caso.
Cumprimentos
fonte