Tenemos una implementación múltiple de una aplicación en servidores como app00, app01, etc. Necesito copiar un solo archivo de registro de todos estos servidores en mi Mac local para poder realizar algunas tareas de grep y corte.
Utilicé csshX para ver este archivo pero no puedo encontrar un equivalente para scp. Básicamente quiero dos cosas:
- Posibilidad de conectarse a n números de dichos servidores y copiar el archivo
- Evite los conflictos de nomenclatura localmente, tal vez con el prefijo del archivo de registro con el nombre de host del servidor
¿Cómo hago esto?
Respuestas:
Esto es trivial con un pequeño guión. Por ejemplo:
Lo anterior copiará el archivo de cada uno de los servidores secuencialmente y lo nombrará
SERVERNAME_file
. Entonces, el archivoapp0
será,app0_file
etc. Obviamente, puede cambiar los nombres a lo que desee.fuente
&
al final delscp
comando ywait
a al final, y tendrá concurrencia sin costo adicional.Use GNU paralelo :
A diferencia de las soluciones que usan a
for
, esto ejecutará todas las descargas en paralelofuente
fuente
Si puede usar python, hay un módulo interesante que busca simplificar las tareas administrativas de la máquina llamado fabric: http://docs.fabfile.org/en/latest/tutorial.html
He querido usarlo, pero tampoco lo he conseguido
fuente
Esto funciono para mi
fuente