从目录中复制最新文件

从目录中复制最新文件

我的目录中有以下文件datamyfile1.txt myfile2.jnx myfile3.sur.

我使用以下命令将上述目录的内容复制到另一个位置:

scp data/* remotehost.example.com:/data/ 

但是,当发出命令后动态更改目录内容时,我发现一个问题。就像当第一个文件仍在复制时,另一个在后台处理此目录的应用程序myfile3.sur更改为该文件一样。myfile3.sur1

*我知道当我触发命令时,shell 会转换为该目录中的所有文件名。有没有办法告诉 linux 也包含更改/更新的文件?

答案1

答案2

为了确保传输名称和内容相同的所需文件,请创建一个具有以下逻辑的脚本:

mkdir data/temp.$$
cp data/* data/temp.$$
scp data/temp.$$/* remotehost.example.com:/data/ 
rm data/temp.$$

通过将文件复制移动到同一服务器中的临时目录,将确保稍后的传输能够获取该文件。

笔记如果后台进程不断更改文件,请尝试与这些进程建立依赖关系。

相关内容