如何知道 Linux 中后台任务的执行时间

如何知道 Linux 中后台任务的执行时间

我在 Linux 中使用软件 RAID。当我在磁盘故障后开始恢复 RAID 阵列时,此任务在后台进行。/proc/mdstat应该显示恢复的预计时间,但这并不准确。在我的例子中,/proc/mdstat显示预计时间为 15 小时,但恢复大约需要 10 小时。有没有办法知道恢复守护进程的确切执行时间?

答案1

您可以在后台运行一个简单的脚本,检查“重建状态”并转储其等待的时间:

tick=$(date +%s)
while [ -n "$(cat /proc/mdstat | grep 'rebuilding')" ]; do
    sleep 10
done
tock=$(date +%s)
echo $(($tock-$tick))

mdadm还有一个--monitor选项,当事件发生时会发送邮件。我从未使用过它,但它可能值得研究,因为完成的重建可能被视为值得注意的事件。

相关内容