服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

如何在ZFS scrub *完成后运行命令*?

我想使用cron来安排我的ZFS池的定期擦洗,并且在擦洗结束后的相当短的时间内 ,给我自己发送状态报告。 这样做的目的是捕捉任何问题,而不必手动查找它们(推而不是拉)。 第一部分很简单:只要设置一个cron作业,以任意间隔运行zpool scrub $POOL作为根,在我的特殊情况下是合理的。 第二部分,我不太确定如何去做。 zpool scrub立即返回,然后由系统在后台运行清理(如果清理是由pipe理员从terminal启动的话,这当然是可取的行为)。 zpool status为我提供了一个状态报告并退出(退出代码为0,当擦洗正在运行时,它还没有完成,所以我不知道退出状态是否改变,但我怀疑它)。 为zpool scrublogging的唯一参数是-s “stop scrubbing”。 主要的问题是检测从洗涤到成品洗涤的状态变化。 鉴于此,其余的应该落实到位。 理想情况下,我想告诉zpool scrub直到擦洗结束才能返回,但是我看不出有什么办法可以做到这一点。 (这会让简单的cron zpool scrub –wait-until-done $POOL; zpool status $POOL简单zpool scrub –wait-until-done $POOL; zpool status $POOL 。) 如果不这样做,我想询问系统是否正在进行清理,最好以不会因升级或configuration更改而冒险的方式,以便我可以根据是否以前运行擦洗已经完成(当擦洗状态从擦洗转为不擦洗时,通过执行一个zpool状态)。 这个特殊的设置是针对一个工作站系统的,所以像Nagios这样的监控工具可能有解决问题的插件,安装这样一个工具只是为了完成这个任务,实际上是相当矫枉过正的。 有人可以build议一个较低的技术解决scheme的问题?