The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как в скрипте настроить перенаправление в файл в фоновом реж..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как в скрипте настроить перенаправление в файл в фоновом реж..."
Сообщение от researcher1 emailИскать по авторуВ закладки on 04-Ноя-03, 08:44  (MSK)
Здравствуйте. У меня возникла непонятная проблема (обычно это работало): у меня два компа - на одном стоит FreeBSD, на другом SunSolaris.
На первой машине у меня из Crontab запускатеся скрипт, который анализирует некие данные и полученный результат складывает в файл. В файле inetd.conf на одном из портов у меня весит другой скрипт (на этой же машине). При выполнении команды telnet на этот порт, этот скрипт запускается и считав данные из файла (куда они были помещены первым скриптом) выдает их программе telnet. Скрипт, который делает telnet на первую машину у меня запускатеся из Crontab на второй машине. Этот геморой мне нужен для того, чтобы с помощью MRTG отрисовывать график, который показывает изменение параметров, анализируемых на первой машине. MRTG как извесно нужны 4 параметра и как раз эти 4 параметра я и получаю сделав telnet на первую машину. Ниже я привожу скрипт, который делает telnet на первую машину.
#!/bin/sh            
# первый параметр для MRTG

host="10.1.1.1"                                                                                                            
#сыплю весь вывод в файл
                      
/usr/bin/telnet 10.1.1.1 27102 > /opt/test/temp5 2>&1
                                                                      
                                                                         # вырезаю строку с XGK и записываю ее в файл
                                                          
/usr/bin/cat /opt/test/temp5 | /usr/bin/grep XGK > /opt/test/temp;

# вырезаю строку с параметром day и присваиваю значение переменной day
        
day=`/usr/bin/cat /opt/test/temp5 | /usr/bin/grep  day`;
                                              
# вырезаю из строки помещенной в этот файл первый слобец
# и записываю это число в другой файл
                              
/usr/bin/cat /opt/test/temp | /usr/bin/awk '{print $1}'> /opt/test/temp7;
                                                          
                                                                         # присваиваю значение переменной (число)
                                                          
counter=`/usr/bin/cat /opt/test/temp7`;                                                                                            
# вывожу все четыре переменные на экран
                                                                                                                                    
echo $counter;                                                                                                                      
echo $counter;                                                                                                                      
echo $day;                                                                                                                          
echo $host;

Так вот, когда я в ручную запускаю этот скрипт, он работает - все данные
появляются, когда я запускаю его из crontab или в фоновом режиме, то данных нет. По идее весь вывод telnet сыпеться в файл, а из него я потом
вырезаю то, что мне нужно. Когда скрипт запускается вручную он пишет во временнй файл следующие данные:
Trying 10.1.1.1
Connected to 10.1.1.1
Escape character is '^]'.                                  
2  XGK
22 days "2:48"
Connection to 10.1.1.1 closed by foreign host.

Когда запускате в фоновом режиме, то строк 2 XGK и 22 days "2:48" нет
, такое ощушение что они эти данные куда-то перенаправляются. Я уже все перепробовал - не могу понять в чем дело. Причем, что интересно, это все работало, но тогда у меня были другие машины и Solaris постарее стоял на них. По идее этот скрипт должен запускаться из файла конфигурации MRTG и передавать ему эти 4 параметра, но поскольку это не работало я решил запускать сам скрипт, правда это тоже не помогло. Буду очень признателен, если поможете разобраться с проблемой.
Заранее спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как в скрипте настроить перенаправление в файл в фоновом реж..."
Сообщение от devnull emailИскать по авторуВ закладки on 07-Ноя-03, 21:21  (MSK)
>Когда запускате в фоновом режиме, то строк 2 XGK и 22 days
>"2:48" нет

это ты запускал через сеть или на localhost пробовал?
ты как-то сузь проблему, какой минимальный код приводит к тому , что в background'е не работает?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру