systemd -запускать команду каждые 5 минут и по кругу (**:00, **:05, **:10,...)

awk 'flag == 0 || some_test { flag = 1 } flag == 1 { processing }'

Это будет использовать логический/двоичный «флаг» для отслеживания того, когда обработка может перейти к концу файла.

Первый блок проверяет точку в данных, с которой может начаться обработка. some_testдолжен быть вашим уже существующим тестом. Она будет осуществляться до тех пор, пока flag == 0. Как только ваш тест верен, флаг переключается на 1, что отключает ваш тест, а также включает блок processing.

Последний блок будет выполняться для всех строк от первой строки, которая запускает ваш some_test, до конца файла.

0
08.09.2020, 14:30
1 ответ

Я не думаю, что есть хороший ярлык, но вы можете сделать это, перечислив возможные времена вOnCalendar=:

OnCalendar=*-*-* *:0,5,10,15,20,25,30,35,40,45,50,55:00

в нормализованной форме.

systemd обычно позволяет себе минутную передышку в отношении событий календаря; вы можете ужесточить это, указавAccuracySec=.

0
18.03.2021, 23:06

Теги

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