lilalo

diff lm-ssh @ 27:098664cf339c

Выполнены шаги 4,5 в плане N05 по построению распределённой системы lilalo.
Шаг <6> в настоящее время не является необходимым.


Введено понятие сеанса.
Сеансом считается процедура работы с системой, начинающаяся с регистрации
в ней и зазаканчивающаяся разрегистрацией, и сопровождающаяся ведением одного
файла скрипта.
Одновременно с созданием скрипта (.script) создаётся соответствующий ему
файл с информацией о сеансе (.info).
Каждый сеанс имеет уникальный в пределах хоста идентификатор,
~local_session_id~, который впоследствии позволяет определить,
какие команды относятся к какому сеансу.

Добавлен backend-сервер, который получает данные от агентов и записывает
из в backend (в настойщий момент - в XML-файл).
Данные передаются по tcp-соединениям.
(Одновременно может работать несколько серверов.
Блокировка файла при записи пока что не выполняется ОСТОРОЖНО!!!!!!)

Агент периодически пытается отправить backend-серверу содержимое своего кэш-файла,
и если ему это удаётся, кэш файл очищается -- данные теперь хранятся в backend'е.

Взаимодействие агентов, backend-сервера и frontend'а
сейчас выполнеятся так:


+-------+
| |
| cache |
| |
+-^---+-+
| |
. ^ v . ^^ . +---------+ . ^^ .
/ \ tcp / \ | | / \ CGI
( agent )----->( backend- )-->| backend |-->( frontend )----->
\ / \ сервер / | | \ /
' . ' ' .. ' +---------+ ' .. '
^
|
+----+----+
| |
|*.script |
| *.info |
| |
+---------+

l3-frontend:
Теперь может выдавать результат работы на стандартный поток вывода.
Вместо имени файла нужно указать символ -

Добавлены файлы:

l3-backend - backend-сервер
l3-cgi - CGI-обвязка для l3-frontend'а

Новые конфигурационные параметры:
frontend_css Путь к файлу CSS, используемому в HTML-странице, которую генерирует frontend
frontend_google_ico Путь к иконке google
frontend_linux_ico Путь к иконке linux
frontend_freebsd_ico Путь к иконке freebsd
frontend_opennet_ico Путь к иконке opennet
frontend_local_ico Путь к иконке локальной документации

backend_address IP-адрес интерфейса, на котором работает backend-сервер
backend_port Порт, который слушает backend-сервер
backend_pidfile Путь к файлу, который хранит идентификатор процесса backend-сервера
backend_datafile Путь к файлу хранилищу (файлу backend)
author devi
date Mon Nov 07 11:24:49 2005 +0200 (2005-11-07)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/lm-ssh	Mon Nov 07 11:24:49 2005 +0200
     1.3 @@ -0,0 +1,31 @@
     1.4 +#!/bin/sh
     1.5 +#\
     1.6 +exec expect -- "$0" ${1+"$@"}
     1.7 +eval spawn ssh $argv
     1.8 +set timeout 1
     1.9 +expect {
    1.10 +	eof { 
    1.11 +	}
    1.12 +	"(yes/no)? " {
    1.13 +		send "yes\n"
    1.14 +		exp_continue 
    1.15 +	}
    1.16 +	assword: {
    1.17 +		send "rootpass\n"
    1.18 +	}
    1.19 +	timeout {
    1.20 +		interact -nobuffer
    1.21 +	}
    1.22 +}
    1.23 +expect {	
    1.24 +	eof { 
    1.25 +	}
    1.26 +	assword: {
    1.27 +		send "rootpass\n"
    1.28 +	}
    1.29 +
    1.30 +	timeout {
    1.31 +		interact -nobuffer
    1.32 +	}
    1.33 +}	
    1.34 +