LINUX.ORG.RU
ФорумAdmin

Скрипт «вырезания» логов. Помогите его усовершенствовать

 bashcat, ,


0

2

Добрый день.

Есть скрипт, который вырезает нужный кусок из лога:

#!/bin/bash

DStart=" DEnd="

while [ «$DStart» = «» ]; do echo -n «Дата начала: » read DStart echo -n «Конечная дата: » read DEnd if [ -n «$DEnd» ]; then

cat /var/log/messages | sed -n «/$DStart/,/$DEnd/p» > /var/log/messages.txt fi

zip -r /var/log/messages.zip /var/log/messages.txt mv /var/log/messages.zip /folder

done

Если ввести правильную дату начала и конца, то скрипт выдаст результат, но если ввести дату которой нет в логе, то он ничего не выгрузит. Как сделать проверку, что если в файле нет нужной даты скрипт попросит повторить ввод.



Последнее исправление: ALODAR (всего исправлений: 1)

после строки

cat /var/log/messages | sed -n «/$DStart/,/$DEnd/p» > /var/log/messages.txt fi

сделай проверку размера файла /var/log/messages.txt: если 0, то требуй новой даты

bvn13 ★★★★★
()

Как сделать проверку, что если в файле нет нужной даты скрипт попросит повторить ввод.

Это у вас лабораторка такая? Ибо в реальности надо выводить от и до, то есть больше либо равно начальной и меньше либо равно конечной и ничего не переспрашивать, ибо это глупо и раздражает.

vodz ★★★★★
()
Ответ на: комментарий от bvn13

Спасибо за подсказку, так и сделал

ALODAR
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.