Мне нужно получить relay=hostname.com из журналов sendmail.

Символическая ссылка служит обходным путем, но для постоянного решения вам следует изменить размер разделов. Изменение размера / через LVM должно выполняться через спасательную консоль RHEL, и прежде чем что-либо изменять, убедитесь, что у вас есть текущая резервная копия.

Со временем я изменил размер многих томов LVM, и никогда не было проблем, но кто знает.

Если у вас достаточно места в /, вы также можете переместить весь /var в корневой логический том, удалить логический том /var и добавить 2 ГБ в корневой логический том.

Чтобы связать кеш yum в качестве временного обходного пути, выполните что-то вроде:

mkdir /tmpvar
mv /var/cache/yum /tmpvar
ln -s /tmpvar/yum /var/cache/yum

Чтобы получить более подробное представление о процессе изменения размера, добавьте вывод lvs, pvs и fdisk -l

0
24.04.2020, 12:42
2 ответа

Я могу сделать это с помощью следующей команды.

grep "from=" mail.log | sed 's/.*relay=//'

Сортировка и выбор первых 10 с помощью следующей команды.

grep "from=" mail.log | sed 's/.*relay=//' | sort | uniq -c |sort -nr -k 1 | head -10
0
19.03.2021, 02:26

В зависимости от того, насколько «избирательным» должен быть ваш вывод (, т. е. следует ли также включать конечный IP-адрес в [... ]), и есть ли в строке возможный дополнительный текст, и предполагается, что GNU awk, с функцией 3 -параметра match()также будет работать следующее:

awk '/from=/ {if (match($0,/.*(relay=[^[:space:]]+).*/,a)) printf("%s\n",a[1])}' mail.log

Для введенного образца вывод будет следующим

relay=sender.hostname.com
0
19.03.2021, 02:26

Теги

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