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 |
0А |
012 |
Ctrl‑K |
11 |
0B |
013 |
|
Ctrl‑L |
(FF) |
12 |
0C |
014 |
Ctrl~M |
(CR) |
13 |
0D |
015 |
Ctrl‑N |
14 |
0Е |
016 |
|
Ctrl‑O |
15 |
0F |
017 |
|
Ctrl‑P |
16 |
10 |
020 |
|
Ctrl‑Q |
17 |
11 |
021 |
|
Ctrl‑R |
18 |
12 |
022
|