НАЗВАНИЕ
acctsh: chargefee, ckpacct, dodisk, lastlogin, monacct,
nulladm, prctmp, prdaily, prtacct, runacct, shutacct,
startup, turnacct - shell-процедуры сбора статистики
СИНТАКСИС
/usr/lib/acct/chargefee входное_имя число /usr/lib/acct/ckpacct [число_блоков] /usr/lib/acct/dodisk [-o] [файл ...] /usr/lib/acct/lastlogin /usr/lib/acct/monacct период /usr/lib/acct/nulladm файл /usr/lib/acct/prctmp файл ["заголовок"] /usr/lib/acct/prdaily [-l] [-c] [ммдд] /usr/lib/acct/prtacct файл ["заголовок"] /usr/lib/acct/runacct [ммдд [фаза]] /usr/lib/acct/shutacct ["причина"] /usr/lib/acct/startup /usr/lib/acct/turnacct [on] [off] [switch]
ОПИСАНИЕ
Процедура chargefee используется для добавления заданного числа единиц оплаты на счет пользователя с указанным входным_именем. В файл /usr/adm/fee помещается соответствующая запись, которая ночью, во время ежесуточного запуска процедуры runacct, будет об единена с другими учетными записями.
Процедура ckpacct должна периодически запускаться cron'ом [см. cron(1M)]. Она проверяет размер файла /usr/adm/pacct. Если размер превышает указанное число_блоков (по умолчанию 500), запускается утилита turnacct с аргументом switch. Если количество свободных блоков в файловой системе, содержащей каталог /usr, меньше 500, ckpacct автоматически выключает сбор статистической информации о процессах, используя для этого команду turnacct off. Когда появится по крайней мере 500 свободных блоков, сбор статистической информации о процессах возобновится (будет выполнена команда turnacct on). Обычно планируется один запуск процедуры ckpacct в час.
Процедура dodisk служит для накопления информации об использовании дискового пространства. По умолчанию она выполняет сбор статистики об устройствах, перечисленных в файле /etc/checklist. Если задана опция -o, выполняется более медленная процедура учета использования дискового пространства каждым из пользователей. Если в командной строке указаны файлы, они определяют имена файловых систем, для которых будет произведен сбор статистики; содержимое таблицы /etc/checklist при этом игнорируется. Если задана опция -o, файл должен быть именем каталога, к которому подключена файловая система; в противном случае файл должен быть именем специального файла, содержащего пригодную для монтирования файловую систему. Обычно процедуру dodisk планируют для периодического запуска cron'ом.
Процедура lastlogin запускается утилитой runacct для обновления файла /usr/adm/acct/sum/loginlog, содержащего даты последнего входа в систему каждого из пользователей.
Процедура monacct должна запускаться один раз в месяц или в учетный период. Аргумент период указывает, какой именно месяц или период имеется в виду. Подразумеваемым значением периода является текущий месяц (01-12). Это полезно, поскольку обычно monacct запускается cron'ом по первым числам каждого месяца. Monacct создает файлы сводки в каталоге /usr/adm/acct/fiscal и очищает файлы в каталоге /usr/adm/acct/sum.
Процедура nulladm создает указанный файл с режимом доступа 664 и об являет его принадлежащим пользователю adm и группе adm. Эта процедура используется различными shell-процедурами сбора статистики.
Процедура prctmp служит для печати файла с записями о сеансах (обычно это файл /usr/adm/acct/nite/ctmp), созданного утилитой acctcon1 [см. acctcon(1M)].
Процедура prdaily используется для форматирования и печати (на стандартный вывод) отчета за указанный день. Предполагается, что отчеты хранятся в файлах с именами /usr/adm/acct/sum/rprtммдд, где ммдд есть месяц и день создания отчета. Для получения отчета за текущий день следует вызвать процедуру prdaily без аргументов [что и делает runacct(1M)]. Отчет за какой либо из предыдущих дней можно получить, указав нужную дату (ммдд) в командной строке. Опция -l служит для вывода сведений о сверхактивных пользователях, потребивших ресурсов больше некоторого предела (например, истративших более 20 минут времени ЦП или проведших в системе более двух часов). Отметим, что процедура monacct удаляет отчеты за предыдущие дни. Опция -c используется для вывода сведений о командах, потребивших подозрительно много ресурсов (например, истративших более 1000 килобайтоминут). Сведения о расточительных командах можно получить только за текущий день.
Процедуру prtacct можно использовать для распечатки любых файлов, содержащих записи в сводном формате tacct [см. acct(4)].
Процедура runacct подытоживает накопленную за день информацию о сеансах, о процессах, об оплате и об использовании дискового пространства. Создается также отчет об использовании команд. Подробнее см. runacct(1M).
Процедура shutacct должна запускаться при выключении системы для прекращения сбора информации о процессах и для записи "причины" в файл /etc/wtmp. Обычно запуск shutacct производится из процедуры /etc/shutdown.
Процедура startup должна запускаться при включении системы для возобновления сбора информации о процессах.
Процедура turnacct обеспечивает удобный интерфейс с утилитой accton [см. acct(1M)]. Она используется для включения (on) и выключение (off) сбора информации о процессах. При указании аргумента switch производятся следующие действия: выключается сбор статистики; текущий файл /usr/adm/pacct переименовывается в /usr/adm/ pacctчисло (где число, начиная с 1, увеличивается на 1 при создании каждого дополнительного файла pacct); вновь включается сбор статистики. Процедура turnacct вызывается из регулярно планируемой к выполнению утилиты ckpacct; тем самым размер файла /usr/adm/pacct поддерживается в разумных пределах. Из трех возможных аргументов процедуры turnacct должен быть указан ровно один.
ФАЙЛЫ
СМ. ТАКЖЕ
acct(1M), acctcms(1M), acctcon(1M), acctmerg(1M),
acctprc(1M), cron(1M), diskusg(1M), fwtmp(1M),
runacct(1M).
acctcom(1) в Справочнике пользователя.
acct(2), acct(4), utmp(4) в Справочнике программиста.