[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по управлению системой: Операционная система и устройства


Исправление общих ошибок учета ресурсов

При работе с системой учета ресурсов вы можете столкнуться с ошибками нескольких типов. Некоторые из них связаны с принадлежностью файла и правами доступа к файлу.

В данном разделе описаны способы исправления основных неполадок при учете ресурсов:

Предварительные требования

У вас должны быть права пользователя root или члена группы adm.

Исправление неверных прав доступа к файлу

Для применения системы учета ресурсов нужно задать права доступа к файлу и владельца файла. Команды и сценарии учета ресурсов относятся к административной группе adm, за исключением команды /var/adm/acct/accton, которая принадлежит пользователю root.

  1. Для того чтобы с помощью команды ls узнать права доступа, установленные для файла, введите:

    ls -l /var/adm/acct
     
    -rws--x--- 1 adm adm 14628 Mar 19 08:11 /var/adm/acct/fiscal
    -rws--x--- 1 adm adm 14628 Mar 19 08:11 /var/adm/acct/nite
    -rws--x--- 1 adm adm 14628 Mar 19 08:11 /var/adm/acct/sum
    
  2. При необходимости измените права доступа с помощью команды chown. Для файла должны быть установлены права доступа 755 (у владельца есть все права доступа, а у всех остальных пользователей - права на чтение и выполнение). Кроме того, у всех остальных пользователей не должно быть прав на запись в каталог. Например:
    1. Перейдите в каталог /var/adm/acct с помощью следующей команды:

      cd /var/adm/acct
      
    2. Установите в качестве владельца каталогов sum, nite и fiscal группу adm с помощью следующей команды:

      chown adm sum/* nite/* fiscal/*
      

      Отключите разрешение на запись для всех остальных пользователей. Установите в качестве владельца файла accton группу adm и установите для него права доступа 710, то есть отключите все права доступа для остальных пользователей. Процессы, относящиеся к группе adm, смогут выполнять команду accton, а все остальные пользователи - нет.

  3. Файл /var/adm/wtmp также должен принадлежать группе adm. Если /var/adm/wtmp принадлежит пользователю root, то во время запуска появится следующее сообщение:

    /var/adm/acct/startup: /var/adm/wtmp: Доступ запрещен
    

    Для того чтобы изменить принадлежность файла /var/adm/wtmp, установите в качестве его владельца группу adm с помощью следующей команды:

    chown adm /var/adm/wtmp
    

Исправление ошибок

Во время обработки файла /var/adm/wtmp пользователю root может быть отправлено несколько предупреждений. Файл wtmp содержит информацию, полученную процессами /etc/init и /bin/login. Этот файл применяется сценариями учета ресурсов для определения продолжительности работы пользователей в системе. К сожалению, программа обработки файла wtmp не рассчитана на изменение даты. В результате команда runacct отправляет пользователям root и adm сообщение со списком ошибок, возникших с момента последнего изменения даты, то есть с момента последнего запуска подсистемы учета ресурсов.

  1. Узнайте, получили ли вы какие-либо сообщения об ошибках.

    Команда acctcon1 выдает сообщения об ошибках, которые передаются adm и root командой runacct. Например, если процесс acctcon1 приостановился после изменения даты и не собрал информацию о времени соединения, то adm может получить электронное сообщение приблизительно следующего содержания:

    Mon Jan 6 11:58:40 CST 1992
    acctcon1: bad times: old: Tue Jan 7 00:57:14 1992
    new: Mon Jan 6 11:57:59 1992
    acctcon1: bad times: old: Tue Jan 7 00:57:14 1992
    new: Mon Jan 6 11:57:59 1992
    acctcon1: bad times: old: Tue Jan 7 00:57:14 1992
    new: Mon Jan 6 11:57:59 1992
    
  2. Исправьте ошибку в файле wtmp с помощью следующей команды:

    /usr/sbin/acct/wtmpfix wtmp
    

    Команда wtmpfix проверяет файл wtmp на согласованность системной даты и времени и исправляет неполадки, которые могут вызвать сбой при выполнении команды acctcon1. Тем не менее, команда wtmpfix не учитывает некоторые изменения даты. См. раздел Исправление ошибок в wtmp.

  3. Запустите учет ресурсов непосредственно перед завершением работы системы или сразу после запуска системы.

    Выполнение команды runacct в это время позволит минимизировать число записей с неверными значениями времени. Команда runacct будет отправлять электронные сообщения в файл учета ресурсов root и adm, пока вы не отредактируете сценарий runacct. Найдите в сценарии раздел WTMPFIX и установите символ комментария в строке, которая управляет отправкой файла протокола пользователям root и adm.

Исправление ошибок, возникших при выполнении команды runacct

Команда runacct часто обрабатывает файлы очень большого размера. Для этого необходимо несколько раз просматривать определенные файлы, что потребляет значительные ресурсы системы. Именно поэтому команда runacct обычно выполняется рано утром, когда она может получить все необходимые ресурсы, не влияя на работу пользователей.

Команда runacct - это сценарий, разделенный на несколько этапов. После завершения каждого этапа выполнение команды можно приостановить, а затем снова возобновить с прерванного места.

Если во время выполнения runacct возникает неполадка, то целевое устройство, в которое отправляются сообщения об ошибке, зависит от этапа, на котором произошла ошибка. Обычно дата и сообщение отправляются на консоль. В сообщении говорится, что нужно просмотреть файл activeММДД (например, active0621 за 21 июня), расположенный в каталоге /usr/adm/acct/nite. Если команда runacct преждевременно завершает работу, то весь файл active помещается в файл activeММДД, к которому добавляется сообщение с описанием неполадки.

  1. В приведенных ниже таблицах описаны сообщения об ошибках, которые могут возникнуть при выполнении команды runacct.

Примечания:
  1. Аббревиатура MMDD означает месяц и день, например, 0102 соответствует 2 января. Если во время выполнения процесса CONNECT1 2 января произойдет неисправимая ошибка, то будет создан файл active0102, содержащий сообщение об ошибке.
  2. Аббревиатура "сообщение SE" означает стандартное сообщение об ошибке, например:

    ********* ОШИБКА УЧЕТА РЕСУРСОВ : см. файл active0102 *********
    

Предварительное состояние и сообщения об ошибках команды runnacct
Состояние Команда Неисправимая? Сообщение об ошибке Получатели
pre runacct да * 2 демона cron или НЕПОЛАДКА УЧЕТА РЕСУРСОВ *ОШИБКА: обнаружена блокировка, выполнение прекращено консоль, почта, файл active
pre runacct да runacct: В каталоге /usr недостаточно свободной памяти (nnn блоков); Процедура завершена консоль, почта, файл active
pre runacct да сообщение SE; ОШИБКА: для 'дата' уже запущен acctg: проверьте дату последнего изменения консоль, почта, файл activeММДД
pre runacct нет * УЧЕТ РЕСУРСОВ СИСТЕМЫ ЗАПУЩЕН* консоль
pre runacct нет повторный запуск acctg для 'дата' в состоянии СОСТОЯНИЕ активная консоль, консоль
pre runacct нет повторный запуск acctg для 'дата' в состоянии, определяемым аргументом $2, предыдущее состояние - СОСТОЯНИЕ файл active
pre runacct да сообщение SE; Ошибка: неверные аргументы команды runacct консоль, почта, файл activeММДД


Состояния и сообщения об ошибках команды runacct
Состояние Команда Неисправимая? Сообщение об ошибке Получатели
НАСТРОЙКА runacct нет ls -l fee pacct* /var/adm/wtmp файл active
НАСТРОЙКА runacct да сообщение SE; ОШИБКА: переключатель turnacct вернул значение rc=error консоль, почта, файл activeММДД
НАСТРОЙКА runacct да сообщение SE; ОШИБКА: Файл SpacctММДД уже существует. Возможно, настройка уже запущена файл activeММДД
НАСТРОЙКА runacct да сообщение SE; ОШИБКА: Файл wtmpММДД уже существует: выполните настройку вручную консоль, почта, файл activeММДД
WTMPFIX wtmpfix нет сообщение SE; ОШИБКА: просмотрите сообщения об ошибках wtmpfix в файле xtmperrorММДД файлы activeММДД, wtmperrorММДД
WTMPFIX wtmpfix нет обработка wtmp завершена файл active
CONNECT1 acctcon1 нет сообщение SE; (сообщения об ошибках расположены в протоколе acctcon1) консоль, почта, файл activeММДД
CONNECT2 acctcon2 нет соединение acctg завершено файл active
ПРОЦЕСС runacct нет ПРЕДУПРЕЖДЕНИЕ: для pacctN учет ресурсов уже запущен файл active
ПРОЦЕСС acctprc1 acctprc2 нет команда acctg выполнена для SpacctNММДД файл active
ПРОЦЕСС runacct нет выполнены все процессы actg для указанной даты файл active
ВСТАВКА acctmerg нет выполнено объединение tacct для создания dayacct файл active
FEES acctmerg нет объединенная оплата ИЛИ нет оплаты файл active
ДИСК acctmerg нет объединение записей о диске ИЛИ нет записей о диске файл active
MERGEACCT acctmerg нет ПРЕДУПРЕЖДЕНИЕ: восстановление sum/tacct файл active
MERGEACCT acctmerg нет обновление sum/tacct файл active
CMS runacct нет ПРЕДУПРЕЖДЕНИЕ: восстановление sum/cms файл active
CMS acctcms нет вычисление итоговых данных завершено файл active
ОЧИСТКА runacct нет выполнен учет ресурсов системы, 'дата' файл active
ОЧИСТКА runacct нет *УЧЕТ РЕСУРСОВ СИСТЕМЫ ВЫПОЛНЕН* консоль
<ошибка> runacct да сообщение SE; ОШИБКА: недопустимое состояние, просмотрите поле СОСТОЯНИЕ консоль, почта, файл activeММДД

Примечание: Метка <ошибка> в приведенной выше таблице не соответствует никакому состоянию; она означает, что в файл состояний /usr/adm/acct/nite/statefile было записано неверное состояние.


Список терминов
Получатель Описание
консоль Устройство /dev/console
почта Сообщение будет отправлено по электронной почте и записано в файл учета ресурсов root и adm
файл active Файл /usr/adm/acct/nite/active
activeММДД Файл /usr/adm/acct/nite/activeММДД
wtmperrММДД Файл /usr/adm/acct/nite/wtmperrorММДД
СОСТОЯНИЕ Текущее состояние, указанное в файле /usr/adm/acct/nite/statefile
fd2log Любое другое сообщение об ошибке

Обновление устаревшего файла holidays

Команда acctcon1 (запускаемая из сценария runacct) отправляет сообщение пользователям root и adm, если файл /usr/lib/acct/holidays устарел. Файл holidays считается устаревшим в том случае, если прошел последний указанный праздник или начался новый год.

Обновите устаревший файл holidays, отредактировав файл /var/adm/acct/holidays и указав в нем рабочее и нерабочее время.

Рабочее время - это период, когда система используется наиболее активно, например, рабочие дни. Свободное время для системы учета ресурсов - это суббота и воскресенье, а также все праздники, указанные в файле.

Файл holidays содержит записи трех типов: комментарии, год и рабочее время, а также список праздников, как показано в следующем примере:

*Таблица рабочего и свободного времени для системы учета ресурсов
*
*   Тек.       Запуск в          Запуск в
*   год        рабочее время     нерабочее время
    1992       0830              1700
*
*   День      Календарная        Название
*   года      дата               праздника
*
*   1          1 Января          Новый год
*   7          7 Января          Рождество
*   54         23 Февраля        День защитника отечества
*   67         8 Марта           Международный женский день
*   121        1 Мая             День труда
*   129        9 Мая             День победы
*   163        12 Июня           День независимости
*   244        1 Сентября        День знаний
*   280        7 Октября         День Конституции 1977 года
*   311        7 Ноября          День общественного примирения и согласия
*   339        5 Декабря         День Конституции 1936 года
*   346        12 Декабря        День Конституции Российской Федерации
*   359        25 Декабря        Католическое Рождество

Первая строка без комментария должна задавать текущий год, а также начало и конец рабочего периода времени в виде четырех цифр. Рабочее и нерабочее время влияет только на то, как программа учета ресурсов обрабатывает записи учета ресурсов.

Если список праздников очень длинный, то команда acctcon1 отправит сообщение об ошибке и вам придется его сократить. Список может содержать не более 20 праздников. Для увеличения списка праздников обновляйте файл holidays каждый месяц.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]