Выбрать главу

df | sed 1d | awk '(print $5"\t"$6>' | while read percent mount

do

echo "<TR><TD align="center"><B>$percent</B></TD><TD align="center">$mount</TD></TR>"

done

С помощью команды df выполняется перенаправление посредством редактора sed для удаления заголовка, затем выполняется перенаправление к awk и считывание в пятом и шестом столбцах. Результаты присваиваются переменным percent и mount.

Аббревиатура TR обозначает строку таблицы, а TD — табличные данные. Тем самым определяется место, куда направляется информация.

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

$ pg dfspace.cgi

#!/bin/sh

# сценарий dfspace.cgi

echo "Content‑type: text/html"

echo ""

# автоматическое обновление каждые 60 секунд

echo "<meta http‑equiv="Refresh" content="60;URL=http:/"linux.pc/cgi‑bin/dfspace.cgi">"

echo "<HTML>"

echo "<HR>"

echo "<A NAME="LINUX. PC Filesystems">LINUX. PC Filesystems</A>"

echo "<TABLE align="center" cellspacing="20" border=9 width="40%"

cols="2">"

echo "<TH align="center">- Capacity % -</TH>"

echo "<TH align="center">- File System -</TH>"

# получение вывода из df, но сначала фильтруется нужная информация!

df | sed 1d | awk '{print $5"\t"$6}' | while read percent mount

do

echo "<TR><TD align="center"><B>$percent</B></TDXTD align="center">$mount</TD>

</TR>"

done

echo "</TABLE>"

echo "</HTML>"

При вводе URL

http://<имя_сервера>/cgi‑bin/dfspace.cgi

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

Рис. 29.15. Использование вывода команды df для генерирования таблиц

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

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

Создаваемые сценарии могут применяться для мониторинга, создания интерфейса, запросов к базам данных и решения других задач. Язык HTML является стандартным форматом для создания документации, поставляемой вместе с программным обеспечением.

ПРИЛОЖЕНИЕ А Коды ASCII

Символ Десятичное значение Шестнадцатеричное значение Восьмеричное
значение
Ctrl-@ (NUL) 0 00 000
Ctrl‑A 1 01 001
Ctrl‑B 2 02 002
Ctrl‑C 3 03 003
Ctrl‑D (EOT) 4 04 004
Ctrl‑E 5 05 005
Ctrl‑F 6 06 006
Ctrl‑G (BEL) 7 07 007
Ctrl‑H (BS) 8 08 010
Ctrl‑I (TAB) 9 09 011
Ctrl‑J (NL) 10 012
Ctrl‑K 11 0B 013
Ctrl‑L (FF) 12 0C 014
Ctrl~M (CR) 13 0D 015
Ctrl‑N 14 016
Ctrl‑O 15 0F 017
Ctrl‑P 16 10 020
Ctrl‑Q 17 11 021
Ctrl‑R 18 12 022