Da es sich bei meinem nfs
um einen win
Servertyp handelt, kann er nicht enthalten :
. Ich möchte mehrere Dateien vom Quellserver in das nfs
Verzeichnis 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_files
in 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 rsync
dieser Teil auch erledigt werden kann, je nachdem, was schneller ist oder bevorzugt wird.