Bash Script для создания резервной копии конфигурации коммутатора через sshpass, а затем отправки результатов с помощью mutt (email)

Последние 2 дня я пытался получить результаты показа на моем коммутаторе и отправить его мне по почте. Я сделал для этого сценарий bash, но все же я не знаю, что я делаю здесь неправильно, и после исправления все кажется, что у моих сценариев bash есть свои проблемы. я сделал файл для информации sshpass следующим образом: 1.1.1.1:myusername:mypass вот мой bash-скрипт:

#!/bin/bash
EMAIL="$1"
while read line
do
        export SSHPASS=$(echo $line | awk -F':' '{print $3}')
        user=$(echo $line | awk -F':' '{print $2}')
        ip=$(echo $line | awk -F':' '{print $1}')
        [ ! -d $ip ] && mkdir $ip
        echo "Backing up ($ip)"
        confpath="./${ip}/${ip}_$(date +"%Y-%m-%d_%H-%M-%S").txt"
        res=$(sshpass -e scp -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc   $user@$ip:running-config $confpath 2>&1)
        exit_code=$?
        echo $res
        if [ $? -eq $exit_code ] ; then
                echo "Done"
                echo "backup for switch $ip" | mutt -a "$confpath" -s "backup for switch $ip" -- $EMAIL
        else
                echo "In $(date +'%Y-%m-%d_%H-%M-%S') tried to get a backup from $ip and it failed.\n\n###\n$res\n###" | mutt -s "backup for switch $ip" -- $EMAIL
                echo "Failed"
        fi
done <&0

также установленный Mutt на моем vps работает отлично, когда используется один, но когда я пробую формат Команда, которую я пытаюсь сделать: cat file | ./backup "some@email.com" возвращает Failed, и я понятия не имею, почему он должен потерпеть неудачу, если что-то не так с моим сценарием, что я не могу понять. Больше. Заранее спасибо, ребята:)

1
задан 13 May 2019 в 14:55

0 ответов

Другие вопросы по тегам:

Похожие вопросы: