@r3star

Как сделать так чтобы скрипт брал последнюю минуту записи из файла?

Подскажите плиз, как задать параметр в скрипте чтобы он брал последнюю минуту, к примеру

#!/bin/bash

for ii in $(journalctl -p err > erors.txt)
do
sleep
done

-- Logs begin at Mon 2018-03-05 13:09:15 EST, end at Mon 2018-03-05 14:30:34 EST
Mar 05 13:09:34 localhost.localdomain systemd[1]: Failed to start logs in /restar
Mar 05 13:18:07 localhost.localdomain systemd[1]: Failed to start logs in /restar
Mar 05 13:20:28 localhost.localdomain kernel: e1000 0000:00:03.0 enp0s3: Reset a
Mar 05 13:26:17 localhost.localdomain systemd[1]: Failed to start logs in /restar
Mar 05 14:08:05 localhost.localdomain systemd[1]: Failed to start logs in /restar

к примеру скрипт запустили в 14:09:00 он должен вывести в файл только последнюю запись =) #(не знаю как это по другому описать)
  • Вопрос задан
  • 88 просмотров
Решения вопроса 2
xotkot
@xotkot
хорошо есть и хорошо весьма
последняя запись из файла:
tail -n 1 erors.txt

но возможно вам нужна просто последняя запись из журнала, то тогда так:
journalctl -p err -n 1
Ответ написан
3vi1_0n3
@3vi1_0n3
А если так?
#!/bin/bash

current_time=$(date +%s)
last_minute=$(($current_time - 60))
last_minute_string=$(date '+%b %d %H:%M' -d @$last_minute)
grep "$last_minute_string" errors.txt
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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