Cuestión : Shell script de Unix Para simplificar el scp vía el túnel reverso del ssh


Necesito hacer el scp de varios servidores de Unix (HP-UX y linux) a un dedicado
PC sobre una base frecuente vía Tcp2222.

Tan en esos servidores Unix excesivos una docena, publicaría:
  scp - administrator@localhost del source_file_on_Unix P2222: /g/temp

donde - P2222 es hacer el scp para copiar vía Tcp2222 mientras que /g/temp
es la impulsión y el directorio en la PC.  Necesitaré un shell script, Lo llamo ncp
para simplificar/acortar el comando (como necesito con frecuencia mecanografiar esto
comando del scp) tales que, apenas necesito mecanografiar:

  PC del fileN del ncp file1 file2: /x/d

por el que file1, file2,…, fileN puede ser hasta 12 archivos de fuente (servidor del IE 0Unix (el scp permite archivos de fuente múltiple y cuando la escritura detectó
PC:  substituirá la “PC: ” con “el administrator@localhost: ” mientras que x es
conducir que puedo especificar (pueden ser la impulsión de C, IE de la impulsión de F thumbdrive o a
impulsión trazada de la red en la PC) mientras que d es el nombre de directorio de la blanco
en la PC.  Los nombres de fichero de la blanco asumirán los nombres de fichero de la fuente

Respuesta : Shell script de Unix Para simplificar el scp vía el túnel reverso del ssh

La versión por completo comprobación de los datos:

¡#! /bin/bash
función readVal () {
       mientras que es verdad; hacer
               eco - n “$1”
               leer val
               [- de n “$2”] del && [- rotura del && del val= " $2” del && de z “$val”];
               si “$3 eval”; entonces
                       rotura;
               fi
               eco eval “$4”
       hecho
}

eco “ncp v1.0 por rumi”
¿readVal “usted está copiando el directorio/la carpeta enteros? (y/N)” =~ y “de n” “[[“$val”|n|Y|N]]” “puso y o el N.”
caso “$val” adentro
       Y|y)
               readVal “incorporar el directorio de fuente: del” "" “[- el directorio de d “$val”]” “\ “$val \” no existe. Intento otra vez.”
               params= " - r $val "
               ; ;
       N|n)
               i=1
               mientras que es verdad; hacer
                       readVal “incorporar la fuente file$i: ” “el _” “[- f “$val”]” “archivo \ “$val \” no existe. Intento otra vez.”
                       caso “$val” adentro
                               “_”)
                                       rotura;
                                       ; ;
                               *)
                                       params= " $params \ “$val \ ""
                                       i=$ (($i+1))
                                       ; ;
                       esac
               hecho
               ; ;
esac

readVal “entrar en la impulsión y la carpeta de la destinación (eg.: formato de /c/temp): ” "" “[[=~ /./ de “$val”. *]]” “el formato debe ser \ “/c/temp \”. Intento otra vez.”

repetir “realizando el scp - administrator@localhost de P2222 $params: $val…”
scp - administrator@localhost de P2222 $params: $val



rgds
rumi
Otras soluciones  
 
programming4us programming4us