Что такое сторожевой таймер?

Мне кажется, что вы хотите оставить файл, который сортируется последним, в лексикографическом порядке сортировки по умолчанию.

Ну, порядок сортировки по умолчанию не работает с числами, которые имеют переменное количество цифр. Но если числа идут подряд , и между нулем и наибольшим числом не пропущено ни одного (, как это было в исходном вопросе ), тогда мы можем считать от нуля до тех пор, пока не найдем число, которое t и удалите все найденные, кроме последнего:

#!/bin/sh
for group in *.log; do
    i=0
    last="$group"
    while [ -f "$group.$i" ]; do
        rm "$last"
        last="$group.$i"
        i=$((i+1))
    done
    echo "did not remove '$last'"
done

После touch foo.log foo.log.{0..13} bar.log asdf.log asdf.log.0удаляются все, кроме foo.log.13, bar.logи asdf.log.0.

2
24.06.2021, 13:47
1 ответ

Сторожевой таймер — это компонент, который ожидает регулярных уведомлений «Я жив» и сбрасывает систему, если она не получает их в течение заданного периода времени. Его цель — перезагрузить систему, которая перестает отвечать на запросы. Полезные сторожевые таймеры реализованы как отдельные компоненты, так что они продолжают «тикать», даже если ядро ​​системы заблокировано, и, таким образом, могут восстанавливаться после самых серьезных блокировок -.

Нужен ли он вам, зависит от того, для чего вы используете свою систему. Если вы хотите, чтобы ваша система автоматически перезагружалась при зависании, то стоит включить ее; если вы всегда используете свою систему в интерактивном режиме, это может быть не так полезно.

Ищите пакеты с watchdogв именах в вашем любимом дистрибутиве; systemd также может позаботиться об этом за вас (см. linux watchdog и systemd watchdog). Возможно, вам также потребуется включить оборудование в настройках прошивки.

4
28.07.2021, 11:22

Теги

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