Архив метки: dialog

dialog. Управление Apache

В журнале «Системный администратор» 2005 год за февраль наткнулся на статью про использование UNIX-утилиты dialog с помощью которой можно делать ASCII-графические приложения для удобного администрирования. Тот пример который был в журнале у меня не работал, поэтому я его модернизировал и вот выкладываю.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
dialog --title "Apache interface" 
    --menu "
Данный сценарий управляет web-сервером Apache.
Выберите действие из предложенных ниже:" 15 50 7 
    start "Запуск сервера Apache" 
    stop "Останов сервера Apache" 
    restart ""Жесткий" перезапуск" 
    graceful ""Мягкий" перезапуск" 
    configtest "Тест конфигурационного файла" 2>apctl.tmp
 
UCOMMAND=`cat apctl.tmp`
 
if [[ $UCOMMAND != "" ]]; then
    dialog --title "confirm command" 
        --yesno "Выполнить следующую команду ${UCOMMAND}?" 10 40
 
    if [ $? = 0 ]; then
        if [ $UCOMMAND = "configtest" ]; then
            sudo /usr/sbin/apache2ctl -S
        else
            sudo /usr/sbin/apache2ctl -k $UCOMMAND
        fi
    fi
fi
rm apctl.tmp
#!/bin/sh
dialog --title "Apache interface" 
    --menu "
Данный сценарий управляет web-сервером Apache.
Выберите действие из предложенных ниже:" 15 50 7 
    start "Запуск сервера Apache" 
    stop "Останов сервера Apache" 
    restart ""Жесткий" перезапуск" 
    graceful ""Мягкий" перезапуск" 
    configtest "Тест конфигурационного файла" 2>apctl.tmp

UCOMMAND=`cat apctl.tmp`

if [[ $UCOMMAND != "" ]]; then
    dialog --title "confirm command" 
        --yesno "Выполнить следующую команду ${UCOMMAND}?" 10 40

    if [ $? = 0 ]; then
        if [ $UCOMMAND = "configtest" ]; then
            sudo /usr/sbin/apache2ctl -S
        else
            sudo /usr/sbin/apache2ctl -k $UCOMMAND
        fi
    fi
fi
rm apctl.tmp

Не забываем поменять владельца файла

1
chown root:root ФАЙЛ
chown root:root ФАЙЛ

и дать ему SUID и сделать выполняемым

1
2
chmod 766 ФАЙЛ
chmod +S ФАЙЛ
chmod 766 ФАЙЛ
chmod +S ФАЙЛ

В итоге получаем такую картину:
После выбора нужного пункта появится подтверждение. Нужно нажимать скорее ДА, ты же не делал бы этого если бы был не уверен! Ведь правда?