可以创建rsync等待文件,然后同时复制它

时间:2019-04-16 09:07:31

标签: rsync

我想使用“ rsync”将文件从A复制到B,但是该文件目前在A中不存在。我在B上运行“ rsync”命令,我可以让“ rsync”等到文件在A中创建并同时复制?

1 个答案:

答案 0 :(得分:0)

假设我们从在hostB上运行的命令开始,例如

hostB$ rsync hostA:remotepath localpath

如果hostA具有正常的shell,我们可以通过调整通常在hostA上运行的helper命令,使rsync等待文件存在。根据环境的不同,可能会发生以下情况:

hostB$ rsync --rsync-path='
    while [ ! -f remotefile ]; do sleep 1; done;
    sleep 5;
    rsync' hostA:remotepath localpath
  • while循环正等待remotefile可用
  • 然后sleep 5允许几秒钟的时间使内容沉降
  • rsync是普通的远程命令
    • 必须倒数
    • 不得以换行符,分号或注释结尾