web-dev-qa-db-ja.com

scpコマンドでfindを使用する方法

Scpコマンドを使用して、リモートサーバーからローカルマシンにいくつかのファイルを転送したいと思います。私が抱えている問題は、ファイルを見つけてscpコマンドに送ることです。サーバー上でssh-keyを生成したくないので、ローカルマシンのコマンドを使用してタスクを実行する必要があります。

実際、次のようなものが必要です。scp username@server_IP:/path/to/file/`find . -ctime -1 -type f` ./問題は、findコマンドが機能しないことです。

ご意見をお聞かせください。

1
MJ taleghani
  • ローカルターゲットディレクトリを作成する

    mkdir /path/to/targetdir
    
  • リモートソースディレクトリを特定します/path/to/sourcedir

  • 次のワンライナーを実行します(サーバーの正しいソースおよびターゲットディレクトリとuser@ip-addressで編集)、

    ssh username@ip-adress '(cd /path/to/sourcedir; find . -print | cpio -oBav -Hcrc)' | ( cd /path/to/targetdir && cpio -ivumd )
    
0
sudodus