canaliza vários arquivos, conexão ssh simples, comandos remotos

2

Eu gostaria de enviar vários arquivos para um servidor remoto, canalizado como entrada para comandos executados no servidor remoto, através de ssh, mas apenas uma conexão / comando ssh é permitida. (No arquivo remote_keys remoto, "command = ..." é especificado, portanto, apenas um único comando / script pode ser executado na extremidade remota usando essa chave).

É possível ter uma configuração onde vários arquivos vão no mesmo pipe - Eu estive pensando em tarar eles e ter alguma lógica no script / untar remoto para separar os arquivos para separar os comandos

A configuração inicial foi algo como %pr_e%

Usando tar, pode ser algo como %pr_e%

O script remoto precisaria ser capaz de extrair os arquivos um por um e enviar os dados para comandos separados, mas não tenho certeza de como conseguir isso

    
por grojo 11.06.2011 / 21:33

1 resposta

2

Se os limites entre os arquivos não forem suficientes, apenas cat file1 file2 | ssh … . Se eles fizerem isso, use o tar. Isto é realmente muito próximo do que foi inventado e precisamente o que faz.

A outra opção seria configurar um canal nomeado que manteria a conexão ssh aberta com um nó de arquivo para sua entrada. Você poderia continuar despejando as coisas à vontade.

Editar : Exemplo de uso para tar:

No final do receptor, dentro do script que é executado como comando remoto, mova para onde você deseja que os arquivos sejam extraídos e, em seguida, leia-os em:

#!/bin/bash
cd /path/to/extract/destination
cat - | tar x

E no lado de envio:

tar c file1 file1 | ssh […]
    
por 11.06.2011 / 21:49