scp o rsync múltiples archivos desde el servidor de origen a otros servidores

scp o rsync múltiples archivos desde el servidor de origen a otros servidores

Dado que my nfses un wintipo de servidor, no puede contener archivos :. Quiero copiar varios archivos del servidor de origen al nfsdirectorio de otro servidor y cambiarles el nombre al mismo tiempo.

El guión se ve así:

#!/bin/bash

in_files="node1:~/experiment/wrfout_d01_2012-12-01*"
###########################################################
# the files look like wrfout_d01_2012-12-01_00:00:00
# wrfout_d01_2012-12-01_06:00:00
# wrfout_d01_2012-12-01_12:00:00
# wrfout_d01_2012-12-01_18:00:00
###################################
for fn in $in_files;do
  echo $fn
  newfn=$(basename "$fn")
  echo 'apply basename :'
  echo $newfn
  scp -r "$fn"  "./${newfn//:/_}"
  echo 'next:'
done

Después de ejecutar este script, informa

node1:~/experiment/wrfout_d01_2012-12-01*
apply basename :
wrfout_d01_2012-12-01_12_00_00
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
next:

Pero parece que si aplico el script a un solo archivo, está bien (es decir, cambio in_filesa un archivo determinado), por ejemplo:

node1:~/experiment/wrfout_d01_2012-12-01_00:00:00
apply basename :
wrfout_d01_2012-12-01_00:00:00
wrfout_d01_2012-12-01_00:00:00        100%   71MB  70.5MB/s   00:00    
next:

1. Entonces, ¿cómo debo hacer para que funcione con varios archivos?

2.Por cierto, parece que rsynctambién se puede hacer esta parte, cuál es más rápida o preferida.

información relacionada