Перенаправление стандартного вывода и вывода ошибок на добавление файла и отправка усеченных результатов по электронной почте

Как указал в комментарии steeldriver, вы можете просто добавить условие в оператор печати, чтобы оно печаталось только тогда, когда условие истинно:

awk -F: '$3 > 1000 { print $1 }' /etc/passwd

Здесь $3 > 1000— условие. Awk также может читать файлы напрямую, поэтому вы можете избежать catи канала |, указав имя файла непосредственно в awk, либо напрямую, как указано выше, либо с перенаправлением :

.
awk -F: '$3 > 1000 { print $1 }' < /etc/passwd
0
08.06.2021, 17:32
1 ответ

Посоветовавшись с коллегой, решение оказалось невероятно простым. Просто разделите сценарий на несколько частей. Поместите эти части в сценарий оболочки.

 #!/bin/sh
 # write truncated log to temp.log 
 command > temp.log 2>&1
 # mail contents of truncated log
 mail -s 'test' myemail@domain.com < temp.log
 # append contents of truncated log to your primary log
 cat temp.log >> mylog.log

Затем возьмите скрипт bash и запустите его в crontab

 0 8 * * * bash mysh.sh
 
1
28.07.2021, 11:26

Теги

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