Обяснение:
Аз ползвам два подхода за "наблюдаване" на терминалните сесии:
1. За документиране на сесията. Имам предвид, да се запише самата сесия за следващо разглеждане.
Примерен код |
gandonov@host:/tmp$ script -f session.log <------ Начало на запис на сесията Script started, file is session.log <------ Записът на сесията е във файл session.log ... команди ... gandonov@host:/tmp$ exit <------ Край на запис на сесията Script done, file is session.log
|
Така сесия се записва във файл session.log.
Особеност: Запис във файла се прави при exit от сесията.
Изводи: този начин:
- е подходящ за "архив"-иране на сесиите.
- не е подходящ за on-line наблюдение, поради буферирането на изхода.
2. on-line наблюдение на терминална сесия.
Пример:
Имаме два потребителя (user1 и user2), които ще наблюдават сесията на gandonov.
Примерен код |
gandonov@host:/tmp$ who gandonov pts/0 2007-01-15 09:45 (:0.0) user1 pts/1 2007-01-15 09:45 (:0.0) user2 pts/2 2007-01-15 10:05 (:0.0)
gandonov@host:/tmp$ ssh localhost | tee /dev/pts/1 | tee /dev/pts/2 gandonov@localhost's password: Last login: Mon Jan 15 10:24:37 2007 from localhost ... команди ... gandonov@host:~$ exit Connection to localhost closed.
|
Цялата магия е в: ssh localhost | tee /dev/pts/1 | tee /dev/pts/2 | tee /dev/pts/3 ... и т.н.
Интересното е, че произволен брой потребители могат да наблюдават една и съща сесия. Подходящо е при обучение за терминални команди и програми.
Това е номера. '>
Никаква магия, никакви пакети, никакъв софтуер - просто стандартни UNIX команди.