Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Jun 17 11:02:53 acers6 dave: test_logger:there are currently 15 users on the system

26.5.2. Использование команды logger в сценариях

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

В следующем сценарии очистки при получении любого из сигналов с номерами 2, 3 или 15 производится регистрация сообщения.

$ pg cleanup

#!/bin/sh

#cleanup

#очистка журнальных файлов системы

trap "my_exit" 2 3 15

my_exit () {

# my_exit

logger -p notice "`basename $0`: Was killed while cleaning up system logs..CHECK OUT ANY DAMAGE"

exit 1

}

tail -3200c /var/adm/utmp > /tmp/utmp

mv /tmp/utmp /var/adm/utmp

>/var/adm/wtmp

#

tail -10 /var/adm/sulog > /tmp/o_sulog

mv /tmp/o_sulog /var/adm/sulog

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

$ tail /var/adm/messages

Jun 17 11:34:28 acers6 dave: cleanup:Was killed whilst cleaning up systemlogs.. CHECK OUT ANY DAMAGE

Помимо использования при работе с различными критическими сценариями, команду logger можно также применять для регистрации любых подключений удаленных пользователей к системе. Ниже приведен сегмент кода, регистрирующий пользователей, которые подключаются к системе с помощью последовательных линий tty0 и tty2. Этот фрагмент кода берет свое начало от одного из файлов /etc/profile.

TTY_LINE=`tty`

case $TTY_LINE in

"/dev/tty0") TERM=ibm3151 ;;

"/dev/tty2") TERM=vt220

#проверка пользователей, которым разрешен доступ к модемной линии

#

echo "This is a modem connection"

# modemf содержит регистрационные имена для допустимых пользователей

modemf=/usr/local/etc/modem.users

if [ -s $modemf ] then

user=`cat $modemf | awk '{print $1}' | grep $LOGNAME`

# если имя не содержится в файле, пользователь не допускается в систему

if [ "$USER" != "$LOGNAME" ]

then

echo "INVALID USER FOR MODEM CONNECTION"

echo " DISCONNECTING………"

sleep 1

exit 1

else

echo "modem connection allowed"

fi

fi

logger -p notice "modem line connect $TTY_LINE… $LOGNAME"

;;

*) TERM=vt220

stty erase '^h' ;;

esac

Команда logger является превосходным инструментальным средством, применяемым для регистрации информации в глобальных файлах сообщений системы.

26.6. Заключение

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

ГЛАВА 27

Небольшая коллекция сценариев

В настоящей главе содержатся примеры некоторых наиболее распространенных сценариев. Изучая их, можно заметить, что все они невелики по размеру и довольно просты. В этом и состоит преимущество использования сценариев; они не должны быть сложными и объемными, поскольку сценарии создаются с целью экономии времени пользователя.

Конечно, в состав данной главы неплохо было бы включить сценарий comet, выполняющий общую проверку баз данных. Но поскольку этот сценарий содержит более 500 строк, нецелесообразно включать его в эту небольшую книгу. Разаботка сценария comet началась еще пару лет назад. Тогда этот сценарий состоял не более чем из пяти строк. Но в ходе естественного процесса эволюции величина сценария существенно выросла. Приведем перечень сценариев, рассматриваемых в данной главе:


Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Литагент «5 редакция» , Тристан Таормино

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии