如果不成功,可能在超时后终止命令?

我想用mbuffer来做ZFS复制,但是为了做到这一点,我必须在目标主机的监听模式下启动它。 我会从主人做的

 ssh 10.10.10.11 mbuffer -s 128k -m 1G -I 9090 | zfs receive tank3/pro4 

mbuffer将永远不会超时,但在复制完成时以成功退出。

如果在2分钟内没有成功返回mbuffer可能会超时

FreeBSD中有timelimit工具来限制任何命令的执行时间。 如果发生超时,命令将被终止。

是的,使用包装脚本启动mbuffer进程,logging与mbuffer关联的PID,让脚本在2分钟内hibernate,然后如果PID仍然存在,TERM会终止PID。

您也可以通过使用SSH作为传输的all-in-one命令启动mbuffer。 不是一个问题,如果目的地是远程…更多的性能损失,如果它是本地…

zfs发送tank3 / pro4 @ snapshot | mbuffer -q -v 0 -s 128k -m 1G | ssh [email protected]'mbuffer -s 128k -m 1G | zfs接收tank3 / pro4'

如果性能问题,您可能会受到CPU和SSHencryption。 有几个解决方法…