SCP 是否可以只复制匹配特定日期的文件?

eic*_*a3I 10 scp

是否可以让 SCP 按日期过滤它复制的文件,例如,如果您想复制在 12/29 创建的所有文件并忽略其他文件?

Edw*_*tts 7

你不能直接用scp. unix的方式是组合工具,你要的find命令。

以下是搜索具有给定日期的文件的示例:

touch --date "2007-01-01" start
touch --date "2008-01-01" end
find -type f -newer start -not -newer end
Run Code Online (Sandbox Code Playgroud)

我从这里拿了这个例子:http : //www.cyberciti.biz/faq/linux-unix-osxfind-files-by-date/

要将其输入 scp,您可以执行以下操作:

find -type f -newer start -not -newer end -exec scp {} dest: \;
Run Code Online (Sandbox Code Playgroud)

这将对每个文件调用一次 scp,这可能会很慢,因为它每次都需要建立连接。如果您只有少量文件并且名称中没有空格,您可以这样做:

scp `find -type f -newer start -not -newer end` dest:
Run Code Online (Sandbox Code Playgroud)

  • @PetrPeller 要向相反方向复制,您可以这样做:`scp dest:\`ssh dest find -type f -newer start -not -newer end\` .` (3认同)
  • 将文件从客户端复制到服务器很容易,但反过来呢? (2认同)