2009-07-10 7 views
0

scp updateを使用する必要があります。これは、シェルスクリプトの検索ディレクトリパターンをリモートで使用する方法

for i in /usr/some/???/unknown/dir 
do 
cp /usr/some/file $i 
done 

と似ていますが、宛先ディレクトリが他のサーバーにある間に検索を実行するにはどうすればよいですか?あなたは、リモートサーバー上のシェルアクセスを持っている場合は

は、遠隔ディレクトリのリストを作成し、あなたに

答えて

0

に感謝(検索、またはLSを使用して、またはあなたのシェルスクリプトで使用したいものは何でも)、およびバックそれをコピーコピー元のシステムに転送します。そして、あなたは私が推測探しているものを

for d in file_of_remote_dirs; do 
    scp /usr/some/file remote_machine:d; 
done 
4

誰もがファイル名にスペースを処理するために忘れて:P

をするにはLBの例を再利用する:

OLD_IFS=$IFS 
IFS=$\'n' 
for i in `ssh [email protected] find /usr/some -type d -name dir` 
do 
    scp [email protected]:"/usr/some/dir/$i" . 
done 
IFS=$OLD_IFS 

各単語の代わりに出力の各行にループします(そして$ iは引用されます)。

+0

私はいつも忘れています...しかし、私はいつもファイル名のスペースは悪いと言っています... :-) – LB40

関連する問題