Как заставить dmesg хранить файл журнала?

Estoy mayormente de acuerdo con @ikkachu, excepto

Cuál obtienes bbbbbaaaaaaaaaao aaaaaaaaaabbbbbes predecible. El sistema operativo espera a que el hijo termine, debido a wait(NULL), luego el padre sale. Como los búferes se vacían al salir, el niño puede escribir primero.

Sin embargo, no confíe en que los búferes sean predecibles. Utilice el vaciado explícito cuando sea necesario.

2
19.06.2019, 23:53
1 ответ

Если у вас есть средства для запуска сценария bash, он будет поддерживать счетчик файлов и использовать его для создания циклической последовательности файлов журнала dmesg.

#!/bin/bash
dir=/path/to/storage                             # Location of persistent storage

[[ -z "$dir/count" ]] && echo 0 >"$dir/count"    # Seed the counter if missing

while sleep 0.25
do
    count=$(( $(cat "$dir/count") +1 ))          # Read the counter and increment
    [[ $count -gt 600 ]] && count=1              # Reset so we can reuse diskspace

    echo $count >"$dir/count"                    # Save the new value
    dmesg >"$dir/dmesg.$count"                   # Write the data
done

Вам потребуется просмотреть результирующий набор из 600 файлов журналов в порядке даты -изменения (ls -t), поскольку они будут записываться и перезаписываться как циклический буфер.

2
27.01.2020, 22:08

Теги

Похожие вопросы