如何在 scp 命令中使用 find

如何在 scp 命令中使用 find

我想使用 scp 命令将一些文件从远程服务器传输到本地计算机。我遇到的问题是找到文件然后将它们定向到 scp 命令。我不想在服务器上生成 ssh 密钥,所以我必须使用本地计算机上的命令来执行任务。

实际上,我需要像下面这样的东西: scp username@server_IP:/path/to/file/`find . -ctime -1 -type f` ./ 问题是 find 命令不起作用。

请指教。

答案1

  • 创建本地目标目录

    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 )
    

相关内容