Pular para o conteúdo

Script SSH com Expect [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Script SSH com Expect [RESOLVIDO]

Enviado em 17/07/2019 - 16:07h

Boa tarde, estou criando um script com expect, porém precisava inserir o comando de data e hora atual (`date +%d-%m-%Y`) e o expect não dá suporte a esse tipo de função. Gostaria de saber como posso tá inserindo essa informação em uma variável qualquer dentro do meu Script

#!/usr/bin/expect -f
dataH = `date +%d-%m-%Y`

set user "ubnt"
set sshpass "ubnt"
set enablepass "ubnt"
set device "172.16.21.***"
set cfgbackup "system:running-config"


spawn ssh $user@$device -p 2220

expect "password:"
send "$sshpass\r"

expect ">"
send "enable\r$enablepass\rterminal length 0\r"

expect "#"
#log_file -noappend $cfgbackup
send "copy nvram:startup-config ftp://user@***.16.21.1/$dataH-$device.cfg\r";
expect "Remote Password:\n"
send "password-\r"
expect "(y/n)\n"
send "y"
#expect "#\n"

#log_file

send "exit\rexit\r"

exec /bin/sed -i {1d;$d} $cfbbackup


O erro está na segunda linha dataH = `date +%d-%m-%Y_%H:%M:%S` (Parâmetro invalido)

Responder tópico

2. Re: Script SSH com Expect [RESOLVIDO]

Enviado em 17/07/2019 - 18:54h


marcospaulovm escreveu:

Boa tarde, estou criando um script com expect, porém precisava inserir o comando de data e hora atual (`date +%d-%m-%Y`) e o expect não dá suporte a esse tipo de função. Gostaria de saber como posso tá inserindo essa informação em uma variável qualquer dentro do meu Script

#!/usr/bin/expect -f
dataH = `date +%d-%m-%Y`

set user "ubnt"
set sshpass "ubnt"
set enablepass "ubnt"
set device "172.16.21.***"
set cfgbackup "system:running-config"


spawn ssh $user@$device -p 2220

expect "password:"
send "$sshpass\r"

expect ">"
send "enable\r$enablepass\rterminal length 0\r"

expect "#"
#log_file -noappend $cfgbackup
send "copy nvram:startup-config ftp://user@***.16.21.1/$dataH-$device.cfg\r";
expect "Remote Password:\n"
send "password-\r"
expect "(y/n)\n"
send "y"
#expect "#\n"

#log_file

send "exit\rexit\r"

exec /bin/sed -i {1d;$d} $cfbbackup


O erro está na segunda linha dataH = `date +%d-%m-%Y_%H:%M:%S` (Parâmetro invalido)
Boa noite marcospaulovm.
Tire os espaços dos lados do =
dataH=$(date +%d-%m-%Y_%H:%M:%S) 


Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder