Bem, sem um argumento vmstat
imprime um único relatório, então você pode executá-lo em um loop de shell simples com um atraso:
while true; do
vmstat > vmstatfile.txt
sleep 10
done
No entanto, esse primeiro relatório é a média desde a inicialização, portanto, se você quiser que o arquivo contenha um relatório para o período mais recente, precisará solicitar pelo menos dois relatórios. Se você quiser se livrar do primeiro relatório impresso em cada execução, poderá removê-lo (excluir a terceira linha) com sed
. Teremos que usar um arquivo temporário aqui, então o arquivo de destino atual não conterá saída parcial em nenhum ponto.
while true; do
vmstat 10 2 | sed -e 3d > vmstatfile.tmp
mv vmstatfile.tmp vmstatfile.txt
done