소스 서버에서 다른 서버로 여러 파일을 scp 또는 rsync

소스 서버에서 다른 서버로 여러 파일을 scp 또는 rsync

my는 서버 유형 nfs이므로 . 여러 파일을 원본 서버에서 다른 서버의 디렉터리로 복사하고 동시에 이름을 바꾸고 싶습니다 .win:nfs

스크립트는 다음과 같습니다:

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

이 스크립트를 실행하면 다음과 같이 보고됩니다.

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:

하지만 스크립트를 하나의 파일에만 적용하면 괜찮을 것 같습니다(예: in_files특정 파일로 변경). 예:

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. 그렇다면 여러 파일에 대해 작동하게 하려면 어떻게 해야 합니까?

2. 그런데 rsync이 부분도 수행할 수 있는 것 같습니다. 어느 쪽이 더 빠르거나 선호되는지요.

관련 정보