Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя FreeBSD Аккаутинг во FreeBSD

Аккаутинг во FreeBSD

Анализ потребления ресурсов сервера пользователями осуществляется при помощи использования аккаунтинга. 
Включение аккаунтинга:
Создаем файл;
#touch /var/account/acct
Разрешаем аккаунтинг в системе:
#accton /var/account/acct
Заносим в /etc/rc.conf строку для автоматического старта: accounting_enable=”YES”
Делаем рестарт:
#/etc/rc.d/accounting restart

 

Значения в файле /var/account/acct будут записаны неудобно для прочтения, используем  скрипт, который после запуска выведет  логи в виде: 
 ПОЛЬЗОВАТЕЛЬ КОЛИЧЕСТВО_СЕКУНД_ПРОЦЕССОРА. 
 
Скрипт следующий:
 
#!/bin/sh
/usr/sbin/sa -u /var/account/acct | awk ‘{u[$1]+=$2}END{for ( i in u ) {print i ” ” u[i]}}’ | sort -n +1 | while read line; do login=`echo $line | awk ‘{print “id “$1}’ | sh | awk ‘{print $1}’ | cut -d\) -f1 | cut -d\( -f2`loginacc=`echo $line | awk ‘{print $2}’`
echo $login $loginacc;
done;
 
С помощью этого скрипта получаем статистику по  пользователю, суммируем ее и выводим на экран.