Bash 从另一台机器复制1小时前的文件

Bash 从另一台机器复制1小时前的文件,bash,scp,Bash,Scp,我的脚本中有这一部分,我将文件从另一台机器复制到当前正在运行的机器 scpuser@samplemachine:/home/user/test/*/home/user/test 但是我应该只复制1小时前创建的文件。我怎样才能做到这一点?请帮我做这个。谢谢您应该将scp与find相结合,以使其正常工作 首先列出远程服务器上早于1小时的文件: ssh user@samplemachine find /home/user/test -type f -mmin +60 然后将其与scp结合使用: sc

我的脚本中有这一部分,我将文件从另一台机器复制到当前正在运行的机器

scpuser@samplemachine:/home/user/test/*/home/user/test


但是我应该只复制1小时前创建的文件。我怎样才能做到这一点?请帮我做这个。谢谢

您应该将
scp
find
相结合,以使其正常工作

首先列出远程服务器上早于1小时的文件:

ssh user@samplemachine find /home/user/test -type f -mmin +60
然后将其与scp结合使用:

scp user@samplemachine:`ssh user@samplemachine find /home/user/test -type f -mmin +60` /home/user/test

因为您是从远程计算机复制文件,所以需要首先识别在远程位置更改的文件。在远程位置尝试
find/home/user/test-mmin-60
。感谢@Tobías,但为什么每当有多个文件要复制时,它总是提示消息
cp:cannot stat'/home/user/test/':没有这样的文件或目录
?请检查
shh>的输出。。。查找…
,以及两侧的权限。目前我使用它没有任何问题。我只能复制
ssh返回的第一个文件。。查找..
然后它将在复制第一个文件后立即返回
cp:cannot stat
消息。以下是要复制的文件的权限:
-rw-r--r--
是否有带空格的文件名?或者其他必须转义的字符?没有带空格和其他字符的文件名需要转义,但我不知道为什么它不起作用。我甚至尝试将
-r
添加到
scp
中,但结果相同。