vmstatでリソースの情報を日付入りでファイルに出力する

方法1

awkで先頭に日付を付与しファイル出力

Note
awkがバッファするためflush(system(""))しないとファイルに出力されない。
vmstat 1 | awk '{print strftime("%Y-%m-%d %T ") $0;system("");}' > vmstat.log
cat vmstat.log
2022-08-31 05:42:14 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
2022-08-31 05:42:14  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2022-08-31 05:42:14  0  0      0 2942748 427172 1859864    0    0     1     2   39    9  1  1 98  0  0
2022-08-31 05:42:15  0  0      0 2942896 427172 1859864    0    0     0     0   30  177  0  0 100  0  0
2022-08-31 05:42:16  0  0      0 2943000 427180 1859864    0    0     0    12  367  981  1  1 98  0  0

方法2

-tオプションでtimestampを表示

vmstat -t 1 > vmstat.log
cat vmstat.log
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 JST
 0  0      0 2935720 436988 1860016    0    0     1     2   39   13  1  1 98  0  0 2022-08-31 07:27:35
 0  0      0 2935684 436996 1860008    0    0     0    12   29  229  0  0 100  0  0 2022-08-31 07:27:36
 0  0      0 2935788 436996 1860016    0    0     0    16   22  139  0  0 100  0  0 2022-08-31 07:27:37
 0  0      0 2936528 436996 1860016    0    0     0     0  374  898  1  1 99  0  0 2022-08-31 07:27:38