我的脚本中有这部分,我将文件从另一台机器复制到当前运行的机器上。
scp user@samplemachine:/home/user/test/* /home/user/test
但这样我就只能复制 1 小时前创建的文件。我该怎么做?请帮我解决。谢谢
答案1
该scp
命令不提供任何按修改时间或日期进行的过滤。但由于您有权访问,因此scp
您也可以通过ssh
- 我假设。如果不是,那么以下内容对您没有帮助。
在实际复制文件之前,您可以找出哪些文件的修改日期超过一小时。
for i in `find <location> -name <filename> -type f -mmin +60`
do
scp $i <user>@<destination server>:/<destination directory>/
done
您正在寻找的选项:
-mmin n
File's data was last modified n minutes ago.
+
分钟数之前的指示是find
查找 60 分钟或更早之前修改过的文件。-
将找到 60 分钟或更短时间的文件。
该脚本将在远程机器上运行ssh
并将文件推送到目标机器。