for i in `ls /var/log/sa/|grep -E "sa[0-9][0-9]"`;do echo -ne "$i -- ";sar -r -f /var/log/sa/$i|awk '{ printf "%3.2f\n",($4-$6-$7)*100/(3+$4)}'|grep -Eiv "average|linux|^ --|0.00|^-" |awk '{sum+=$1 }END{printf "Average = %3.2f%%\n",sum/NR}';done
Эта команда выполняет следующие действия:
1. Создание цикла, который проходит по каждому файлу в директории /var/log/sa/ с помощью команды ls /var/log/sa/
.
2. Фильтрация файлов, чтобы оставить только те, чьи имена соответствуют шаблону «sa[0-9][0-9]» с помощью команды grep -E "sa[0-9][0-9]"
.
3. Вывод имени файла и его среднего использования памяти с помощью команды sar -r -f /var/log/sa/$i.
4. Вычисление процента использования памяти для каждого файла с помощью команды awk.
5. Фильтрация результатов, чтобы исключить строки с ключевыми словами «average», «linux», «—» и «0.00», а также строки, начинающиеся с «-» с помощью команды grep -Eiv «average|linux|^ —|0.00|^-«.
6. Вычисление среднего значения использования памяти из всех полученных результатов с помощью команды awk.
7. Вывод среднего значения использования памяти для каждого файла.
Альтернативой этой команде может быть использование инструментов мониторинга, таких как Grafana или Zabbix, для более наглядного и удобного отображения статистики использования памяти. Но если у вас нет возможности использовать эти инструменты, то данная команда может помочь вам получить необходимые данные. Передаваемые команде аргументы: отсутствуют.