Здравствуйте. У меня возникла непонятная проблема (обычно это работало): у меня два компа - на одном стоит 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 параметра, но поскольку это не работало я решил запускать сам скрипт, правда это тоже не помогло. Буду очень признателен, если поможете разобраться с проблемой.
Заранее спасибо.