如何实现“阻塞”/等待 rsync?

如何实现“阻塞”/等待 rsync?

我用rsync -acn --out-format=%n /abc/home/sample1/* server2:/abc/home/sample2/它来比较本地目录和远程目录。然后,如果本地有远程没有的文件,我将把文件 scp 到远程。这是在 while 循环内完成的。

while true
do
    contents=$(rsync -acn --out-format=%n /abc/home/sample1/* server2:/abc/home/sample2/)
    if [ $contents != "" ]; then
        for word in $contents; do
            #scp $word 
        done
    fi
done

我想实现一个类似于 inotifywait 的 -m 标志(监视器)的功能,它会一直等待直到有事件发生。我认为这类似于线程阻塞,直到有事件需要处理,然后它才会处理该事件,否则它不会忙于旋转并消耗 CPU。我尝试使用 watch,但它似乎更像是安排 rsync 每 N 秒发生一次。我想要实现的目标可能吗?

相关内容