在文件系统满之前,rsync停止

我想实现一个rsync应该停止,如果目标文件系统的可用空间下降到10G以下,我不知道什么是最好的办法呢?

我在Linux RedHat 5.2上运行

一个快速和肮脏的解决scheme可能是启动一个进程,将循环每一秒,检查可用空间,并相应地杀死rsync,但它真的很糟糕,我认为。

你知道更好的方法吗? 也许我想念一些东西,但rsync没有这样的select。

最后一件事:我不只是rsync,如果存在另一个软件,并用这样的选项做同样的事情,我可以改变。

非常感谢您的帮助Rémi

其中一种方法是:

  • 在客户端,首先进行干运行,并从其输出中提取估计的传输大小。
  • 在客户端,以某种方式将此号码传递给远程rsync; --checksum-seed选项可以工作
  • 在服务器上, pre-xfer execRSYNC_ARG*variables中提取这个数字,检查可用空间,如果不足,则拒绝整个传输。