11.11.11.11/:/path/from
(Ubuntuシステム)にあるリモートディレクトリ(SSHを有効にする)があります。百万小さな.txt
ファイル、簡単なls
コマンドの実行、および/path/from/
WinSCPを使用して開くことも可能であるため、ディレクトリを開くことはできません。百万 ファイル数。
私の目標は、特定の名前パターンを持つ何千ものファイルを見つけることです。そして別のリモート場所(たとえば22.22.22.22:/path/to
)にコピーします。
これまでに試したことは次のとおりです。
scp --exec=`find /path/from -name 'A*random*' -mtime +0 -mtime -10` [email protected]:/path/to
/path/from/
しかし、ディレクトリに実際に何百万ものファイルが含まれていると言ったように、それを行うには非常に長い時間がかかります。
より速くするための提案はありますか?使用rsync
?どうすればいいですか?最後の修正日を使用して結果を制限する方法だけを知っているので、find
結果を特定の数に制限するにはどうすればよいですか?1000
-mtime
ベストアンサー1
おそらくfind
これを組み合わせて、cpio
あるコンピュータ上の多くのファイルからストリームを作成し、cpio
別のコンピュータからファイルを抽出できます。
ssh user@source "cd sourcedir && find ./ -xdev -name 'A*random*' -print | cpio -o -Bav -H crc" | ssh user@target "cd destinationdir && cpio -i -vumd"
この(テストされていない)ソリューションは次のものに基づいています。https://www.netroby.com/view/3602。ここではfind
、およびのパラメータの説明を見つけることができますcpio
。