Последние 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
, и я понятия не имею, почему он должен потерпеть неудачу, если что-то не так с моим сценарием, что я не могу понять. Больше. Заранее спасибо, ребята:)