как отправить вывод команды, которая выполняется на подключенном компьютере, в файл на подключенном компьютере - PullRequest
2 голосов
/ 06 июня 2019

Я делаю сценарий для доступа к группе машин через ssh и запускаю команду df -h, чтобы проверить, приближается ли их использование диска к 100%, моя проблема в том, что я не могу запустить команду на машине, котораякогда я запускаю команду, я не могу отправить ее в файл на компьютере, который я использую для подключения.Я пробовал это

df -h > /dir/file

, но это просто создает файл в машине, к которой я подключен.Как мне поступить так, как я пытаюсь сделать?

полный код, который я использую для этого:

expect <<-EOF
spawn ssh -oPort=23 x.x.x.x df -h > /home/file
expect "*password: " {send "password\r"}
expect "*#" {send "exit\r"}
EOF

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Переместить перенаправление в начало heredoc:

expect <<-EOF > /home/file
spawn ssh -oPort=23 x.x.x.x df -h
expect "*password: " {send "root\r"}
expect "*#" {send "exit\r"}
EOF

(не проверено)

1 голос
/ 06 июня 2019

Как это:

ssh remoteMachine 'df -h' > path/to/local/file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...