¿Se puede enviar scp
un archivo a varias ubicaciones en el mismo comando?
Por ejemplo:
scp file.txt [email protected]:, [email protected]:
¿O sería más práctico crear un script bash que ya tenga todos los hosts en él y solo tomaría un archivo como argumento?
linux
file-transfer
scp
Andrés
fuente
fuente
for
bucle awhile read dest; do
, se leerá desde la entrada estándar. Póngalo en un script y aliméntelodestfile.txt
(p./thescript.sh <destfile.txt
. Ej .).Parece un trabajo para parallel-scp (n) (t) : implementa un conjunto de comandos que permiten que los comandos scp se ejecuten en varios sistemas a la vez. Permitirá la copia de archivos en paralelo a un conjunto de máquinas.
fuente
fuente
Otra alternativa (y una línea) sería utilizar pdsh para conectarse a cada nodo de destino y activar un get desde allí:
Por supuesto, esto requiere una información más (el host local) y diferentes derechos de usuario, pero evita hacer bucles en bash y usar indirección para leer el archivo.
fuente
Aquí hay otra opción, con un script de shell de una línea.
Utiliza dos archivos, uno para el bucle y otro para la lista de hosts del servidor. Lee
$1
el primer parámetro de la CLI como el nombre del archivo a SCPcscp.sh
hosts.txt
Uso
Copie el archivo a varios hosts:
fuente
Si tiene una convención de nomenclatura constante para varios servidores, puede hacer algo ordenado como:
fuente