scp oder rsync mehrere Dateien vom Quellserver zu einem anderen Server

scp oder rsync mehrere Dateien vom Quellserver zu einem anderen Server

Da es sich bei meinem nfsum einen winServertyp handelt, kann er nicht enthalten :. Ich möchte mehrere Dateien vom Quellserver in das nfsVerzeichnis auf einem anderen Server kopieren und sie gleichzeitig umbenennen.

Das Skript sieht folgendermaßen aus:

#!/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

Nach dem Ausführen dieses Skripts meldet es

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:

Aber es scheint, dass es in Ordnung ist, wenn ich das Skript nur auf eine Datei anwende (also in_filesin eine bestimmte Datei ändere), zum Beispiel:

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. Wie muss ich also vorgehen, damit es für mehrere Dateien funktioniert?

2. Übrigens scheint es, als ob rsyncdieser Teil auch erledigt werden kann, je nachdem, was schneller ist oder bevorzugt wird.

verwandte Informationen