Script SSH com Expect [RESOLVIDO]

1. Script SSH com Expect [RESOLVIDO]

Marcos Paulo Vieira de Macedo
marcospaulovm

(usa Slackware)

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)


  


2. Re: Script SSH com Expect [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts