2011-07-07 12 views
2

リモートサーバーからファイルのディレクトリをコピーしたいとします。ファイル数が多いので、移行先サーバー上の既存のファイルを無視することが望ましいです。 残念ながら、rsyncは何らかの理由で利用できません(リモートサーバーはCDNサービスからのものであり、私の制御を超えています)。 私は問題のフォルダでscp -rを使っていると思います。リモートサーバーからローカルにファイルをコピーし、既存のファイルを無視する(rsyncは利用できません)

既存のファイルを無視してこの操作を行っても問題ありませんか?

おかげ

答えて

1

また、SCP、それを、*のは.tar.gzまたは* .tar.bz2とアーカイブを作成し、それを解凍できます。 scp -rが圧縮を使用するかどうかはわかりません。そうでない場合は、すべてを最初に圧縮すると、潜在的に速くなる可能性があります。

+0

sshは、それが送信されるように、単に '-C'スイッチを使用してデータを圧縮することができます。 – salva

1

それはモジュールNet::SFTP::Foreignを使用していることを行うにはPerlでスクリプトを記述するのは簡単です:

#!/usr/bin/perl 

use Net::SFTP::Foreign; 
my $sftp = Net::SFTP::Foreign->new('[email protected]'); 
$sftp->die_on_error; 
$sftp->rget('/remote/path', '/local/path', 
      resume => 'auto', 
      on_error => sub { my ($sftp, $e) = @_; 
           warn "error processing $e->{filename}: " 
            . $sftp->error; 
           } 
      ); 
関連する問題