Есть такой, увы, далеко не безупречный с точки зрения функциональности и к тому же брошенный проект, как sma.
Подбирать его пока не берусь, но пользоваться-то нужно.
Вот и пришлось сочинить скриптик для формирования и ротации отчётов.
Comment "Sendmail Log Analysis Report" HostName mydomain.ru OutFile /usr/local/www/vhosts/statistics/sendmail_stat/report.html ...
(в остальном конфиг совершенно стандартный)
Желаемое получаем посредством скрипта следующего содержания
#!/bin/sh # # ARCHIVE="/var/log/maillog.0.bz2" MAILLOG="/var/log/maillog.0" STAT_DIR="/usr/local/www/vhosts/statistics/sendmail_stat" HTML_INDEX="$STAT_DIR/index.html" REPORT="$STAT_DIR/report.html" REPORTS_LIMIT=64 REPORT_NAME=`head -n 1 $STAT_DIR/admin.tmp` # bunzip2 -kv $ARCHIVE # /usr/local/bin/sma -f /usr/local/etc/sma.conf $MAILLOG mv -f $REPORT $STAT_DIR/$REPORT_NAME rm -f $MAILLOG FILES=`ls $STAT_DIR/sendmail* | wc -l` if [ "$FILES" -gt "$REPORTS_LIMIT" ] then DELETE=`expr $FILES - $REPORTS_LIMIT` CLEAR=`ls -r1 $STAT_DIR/sendmail* | tail -n $DELETE` for TEMP in $CLEAR do rm -f $TEMP done fi echo "sendmail_`date "+%Y-%m-%d"`.html" > $STAT_DIR/admin.tmp echo "
<html>
<body>
» > $HTML_INDEX
echo »
» >> $HTML_INDEX
echo »
echo » » >> $HTML_INDEX
echo » » >> $HTML_INDEX
echo «</head>» >> $HTML_INDEX
echo »
» >> $HTML_INDEX
echo »
<center>» >> $HTML_INDEX
echo »» >> $HTML_INDEX
echo »
Страница выбора периода</p>» >> $HTML_INDEX
echo »
» >> $HTML_INDEX
echo »
» >> $HTML_INDEX
cd $STAT_DIR
for FILE in `ls -r1 sendmail*`
do
DATE=`echo $FILE | sed s/.html//`
URL=`echo $FILE | sed s/\\\/usr\\\/local\\\/www\\\/vhosts\\\/statistics//`
echo »Статистика sendmail за $DATE.</a>
echo «</center>» >> $HTML_INDEX
exit 0
</center>
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Тут же все написано:
Поправить формат для date на нужный.
Предлагаешь писать в временный файл две строки: с именем файла (формат выбран исходя из логики сортировки ls’ом) и с датой, выводимой в индекса?
Неспортивное решение :)
Но самое главное: Шуруп, предлагаемый тобой путь решает проблему с именем последнего отчёта, но не с преобразованием имён файлов (содержащих дату в формате, обеспечивающем корректную сортировку) в имена отчётов, содержащие дату в привычном и оптимальном с точки зрения восприятия формате (ибо в временный файл пишется только дата последнего отчёта).
И, кстати, надо бы не полениться подумать на предмет отказа от этого файла…