URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 76043
[ Назад ]

Исходное сообщение
"top и его вывод в файл"

Отправлено HAN7 , 03-Сен-07 20:04 
Привет!
Смешной наверное вопрос, но не пойму почему так
Хочу получать с удаленного сервера результат команды top:
1. думаю скриптом подключаться по ssh c командой "top > file"
2. все нормально но в файл не выводится одна строка из вывода
вот например нормальный вывод (когда в консоли):
----------------------------------------
last pid: 23410;  load averages:  0.19,  0.28,  0.32       up 1+19:08:39  09:02:10
582 processes: 1 running, 581 sleeping
CPU states:  1.5% user,  0.0% nice,  3.7% system,  2.6% interrupt, 92.1% idle
Mem: 696M Active, 860M Inact, 327M Wired, 88M Cache, 112M Buf, 36M Free
Swap: 2048M Total, 236M Used, 1812M Free, 11% Inuse

  PID USERNAME       THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  800 mysql           15  20    0   332M 21420K kserel 1 120:24 11.28% mysqld
  837 root             1  96    0  7396K  4136K select 0  83:00  0.54% perl5.8.8
----------------------------------------
а вот когда в файл:
----------------------------------------
last pid: 23493;  load averages:  0.43,  0.35,  0.34  up 1+19:09:26    09:02:57
619 processes: 1 running, 618 sleeping

Mem: 714M Active, 862M Inact, 332M Wired, 83M Cache, 112M Buf, 18M Free
Swap: 2048M Total, 236M Used, 1812M Free, 11% Inuse


  PID USERNAME       THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  800 mysql           15  20    0   332M 21388K kserel 0 120:34  8.11% mysqld
  837 root             1  96    0  7396K  4136K select 0  83:02  3.96% perl5.8.8
----------------------------------------
куда девается строка с данными по CPU? и как ее "поймать" для записи?
да, вот такой смешной ситуция :)


Содержание

Сообщения в этом обсуждении
"top и его вывод в файл"
Отправлено mahoro , 03-Сен-07 22:24 
попробуй поюзать опцию -b

"top и его вывод в файл"
Отправлено HAN , 04-Сен-07 03:15 
>попробуй поюзать опцию -b

нет, не помогло :(

тут еще дополнительный вопрос возника - как передать по ssh на удаленный сервер цепочку команд? разделитель ";" ведет к тому что последующие команды выполняются на локальной машине


"top и его вывод в файл"
Отправлено Oyyo , 04-Сен-07 04:23 
>>попробуй поюзать опцию -b
>
>нет, не помогло :(
>
>тут еще дополнительный вопрос возника - как передать по ssh на удаленный
>сервер цепочку команд? разделитель ";" ведет к тому что последующие команды
>выполняются на локальной машине

символ перевода строки "\n"


"top и его вывод в файл"
Отправлено HAN7 , 04-Сен-07 15:34 
>символ перевода строки "\n"

???
это как?
в командной строке вида:

ssh -l <user> x.x.x.x -p xxx top -b -n 1 > re

добавить еще команду используя разделитель "\n"? Вы ничего не путаете?


"top и его вывод в файл"
Отправлено konst5 , 04-Сен-07 15:44 
>>символ перевода строки "\n"
>
>???
>это как?
>в командной строке вида:
>
>ssh -l <user> x.x.x.x -p xxx top -b -n 1 > re
>
>добавить еще команду используя разделитель "\n"? Вы ничего не путаете?

ssh -l <user> x.x.x.x -p xxx 'top -b -n 1 > re';ls;pwd'


"top и его вывод в файл"
Отправлено Oyyo , 04-Сен-07 16:55 
>>символ перевода строки "\n"
>
>???
>это как?
>в командной строке вида:
>
>ssh -l <user> x.x.x.x -p xxx top -b -n 1 > re
>
>добавить еще команду используя разделитель "\n"? Вы ничего не путаете?

если у вас не проходит ";" , не знаю почему, у меня проходит, ставим "\n" или вообще пишем каждую комманду с новой строки, если ей не строить поток

test.sh
#!/bin/bash
CONNECT="ssh -l <user> x.x.x.x -p xxx"

$CONNECT "top -b -n 1 > re
ls >ls.txt
cat ls.txt"


"top и его вывод в файл"
Отправлено HAN7 , 04-Сен-07 17:33 
>[оверквотинг удален]
>проходит, ставим "\n" или вообще пишем каждую комманду с новой строки,
>если ей не строить поток
>
>test.sh
>#!/bin/bash
>CONNECT="ssh -l <user> x.x.x.x -p xxx"
>
>$CONNECT "top -b -n 1 > re
>ls >ls.txt
>cat ls.txt"

на удаленном сервере выполняется только первая строка (top) - другие выполняются на локальной машине, т.е. как обычные команды, а надо чтобы эта связка отработала удаленно

система FreeBSD 6.2 - а то не сказал, может нужно знать


"top и его вывод в файл"
Отправлено konst , 04-Сен-07 18:10 
>[оверквотинг удален]
>>
>>$CONNECT "top -b -n 1 > re
>>ls >ls.txt
>>cat ls.txt"
>
>на удаленном сервере выполняется только первая строка (top) - другие выполняются на
>локальной машине, т.е. как обычные команды, а надо чтобы эта связка
>отработала удаленно
>
>система FreeBSD 6.2 - а то не сказал, может нужно знать

Возьми команды в кавычки: "top -b -n 1 > re;ls;..."


"top и его вывод в файл"
Отправлено HAN7 , 04-Сен-07 19:45 
>[оверквотинг удален]
>>>ls >ls.txt
>>>cat ls.txt"
>>
>>на удаленном сервере выполняется только первая строка (top) - другие выполняются на
>>локальной машине, т.е. как обычные команды, а надо чтобы эта связка
>>отработала удаленно
>>
>>система FreeBSD 6.2 - а то не сказал, может нужно знать
>
>Возьми команды в кавычки: "top -b -n 1 > re;ls;..."

понимаешь в чем особенность - если их все обьединить, то они они ВСЕ выыполняются на удаленной машине - я мне нужно результат здесь на локальной...
по одиночке - они отлично работают и сохраняют результат здесь, а вот в цепочке - эти команды работают только там


"top и его вывод в файл"
Отправлено Oyyo , 04-Сен-07 20:01 
>по одиночке - они отлично работают и сохраняют результат здесь, а вот
>в цепочке - эти команды работают только там

ты-б сразу так и говорил, а то голову морочаешь

test.sh
============================
#!/bin/bash

CONNECT="ssh -l <user> x.x.x.x -p xxx"
i=`$CONNECT top -b -n 1`
echo "$i" >/re.txt
============================
результат выполнения комманды на удалённой машине загоняем в переменную,
эта переменная уже на локальной машине, дальше делай что хочешь, я её сохранил в файл


"top и его вывод в файл"
Отправлено ilijaz , 04-Сен-07 20:50 
>[оверквотинг удален]
>  15  20    0  
>332M 21388K kserel 0 120:34  8.11% mysqld
>  837 root        
>    1  96    0
> 7396K  4136K select 0  83:02  3.96% perl5.8.8
>
>----------------------------------------
>куда девается строка с данными по CPU? и как ее "поймать" для
>записи?
>да, вот такой смешной ситуция :)

А по snmp не проще статистику снять?