Я использую следующие команды для удаленного извлечения дискового пространства с помощью ssh. но хочет просто сохранить вывод вместо всех других сообщений, как показано ниже;

Любая помощь? или какое-нибудь альтернативное решение?

ssh rajesh-server 'df -h /db* | cat' 2>&1

|-----------------------------------------------------------------|
| This system is for the use of authorized users only.            |
| Individuals using this computer system without authority, or in |
| excess of their authority, are subject to having all of their   |
| activities on this system monitored and recorded by system      |
| personnel.                                                      |
|                                                                 |
| In the course of monitoring individuals improperly using this   |
| system, or in the course of system maintenance, the activities  |
| of authorized users may also be monitored.                      |
|                                                                 |
| Anyone using this system expressly consents to such monitoring  |
| and is advised that if such monitoring reveals possible         |
| evidence of criminal activity, system personnel may provide the |
| evidence of such monitoring to law enforcement officials.       |
|-----------------------------------------------------------------|

Filesystem            Size  Used Avail Use% Mounted on
/dev/vx/dsk/xcv01_day/db01_day
                  200G  154G   44G  79% /db01_day
/dev/vx/dsk/xcvg01_day/db01_day
                  200G  154G   44G  79% /db01_day
 /dev/vx/dsk/xcvg01_day/db01_day
                  200G  154G   44G  79% /db01_day

2 ответа2

2

Весь текст в "ящике" генерируется вашими сценариями входа, а не командой df . Часто сервер, настроенный с сообщениями для входа, пропускает показ этих сообщений, если в вашем домашнем каталоге существует файл с именем .hushlogin . Итак, во-первых, попробуйте создать этот файл:

ssh rajesh-server "touch .hushlogin"

Далее вам не нужно | cat в командной строке, ИЛИ, скорее всего, перенаправление stderr. Попробуйте это вместо этого:

ssh rajesh-server 'df -h /db*'

Если вы по-прежнему получаете сообщения с файлом .hushlogin , вам нужно проанализировать вывод. Это сделало бы это:

ssh rajesh-server 'df -h /db*' | sed '/^|/d'

Эта команда sed принимает выходные данные вашей команды ssh, удаляет все строки, начинающиеся с символа канала, и печатает все остальное.

Обратите внимание, что вы, вероятно, захотите использовать инструмент мониторинга, созданный специально для такого рода задач. Многие существуют, некоторые как RRDTool. Мои любимые - Кактусы и Мунин. Они будут отображать график использования вашего диска (или сети, или другого устройства), чтобы вы могли видеть, как все меняется со временем.

Если вам нужен инструмент, который отправляет вам предупреждение, если вы приближаетесь к пределам, взгляните на Nagios, Icinga или Zabbix.

0
ssh rajesh-server 'df -h /db*' > file 2> /dev/null

отправляет удаленный вывод df в file при отправке сервера на /dev/null .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .