我想实现一个 rsync,当目标文件系统可用空间降至 10G 以下时它应该停止,我想知道最好的方法是什么?
我在 Linux RedHat 5.2 上运行
一个快速而粗糙的解决方案可能是启动一个每秒循环一次的进程,检查可用空间并相应地终止 rsync,但我认为这真的很糟糕。
您知道更好的方法吗?也许我错过了什么,但是 rsync 没有这样的选项。
最后一件事:我不仅仅使用 rsync,如果存在另一个软件并使用这样的选项执行相同的操作,我可以进行更改。
非常感谢你的帮助 Rémi
答案1
可以采取以下方式:
- 在客户端上,首先进行一次试运行并从其输出中提取估计的传输大小。
- 在客户端,以某种方式将此号码传递给远程 rsync;该
--checksum-seed
选项可以工作 - 在服务器上,
pre-xfer exec
从变量中提取该数字RSYNC_ARG*
,检查可用空间,如果空间不足则拒绝整个传输。