Выходной файл Telnet НЕ РАБОТАЕТ правильно под Crontab

Я использую Ubuntu 10.04.4LTS, и на моем компьютере установлена ​​программа Ganglia.

Раньше я получал данные Gmetad, набирая:

telnet localhost 8651 > /test/test.txt

или создавал файл .sh для его запуска. После этого я хочу периодически получать данные Gmetad. Я пытаюсь Crontab. После некоторого простого теста я уверен, что Crontab работает в моем Ubuntu. Тем не менее, когда я пытаюсь заставить crontab получать данные, установив их следующим образом:

*/5 * * * * root sudo telnet localhost 8651 > /test/test.txt

Выходной файл будет неполным, например:

3263  2012-07-13 09:28 FromCrontab.txt
44833 2012-07-13 08:14 CorrectOne.txt

Файл CorrectOne.txt содержит 44833 символа, но выходной файл из Crontab содержит только 3263 символа.

Я пытался решить эту проблему, используя tee:

sudo telnet localhost 8651 | tee -i /test/test.txt

или изменив ОБОЛОЧКУ:

SHELL=/bin/sh or SHELL=/bin/bash

, никто не мог помочь.

Я новичок в Ubuntu и не знаком с crontab или telnet. Надеясь, что кто-то может помочь мне решить эту проблему или дать мне направление на учебу.

Спасибо.

0
задан 24 December 2013 в 01:06

1 ответ

Используйте nc:

 The nc (or netcat) utility is used for just about anything under the sun
 involving TCP or UDP.  It can open TCP connections, send UDP packets,
 listen on arbitrary TCP and UDP ports, do port scanning, and deal with
 both IPv4 and IPv6.  Unlike telnet(1), nc scripts nicely, and separates
 error messages onto standard error instead of sending them to standard
 output, as telnet(1) does with some.

. Чтобы установить его, введите sudo apt-get install netcat-openbsd.

Примерно так должно быть хорошей заменой вашей линии telnet (предполагается, что вам не нужно ни отправлять, ни печатать что-либо для получения данных; извините, я незнаком с ганглиями):

nc localhost 8651 > /test/test.txt
[ 118] И в вашем / etc / crontab:

* * * * * root nc localhost 8651 > /test/test.txt

Обратите внимание, что если вы запускаете это как root, вам не нужен sudo. Действительно, даже как обычный пользователь, вам не нужно использовать [sudo] для запуска nc. По соображениям безопасности я советую вам избегать использования root или sudo, если это не является строго необходимым.

0
ответ дан 24 December 2013 в 01:06

Другие вопросы по тегам:

Похожие вопросы: