Как мне добавить письмо в этот скрипт - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно выяснить, как добавить уведомление по электронной почте, если файлы были успешно переданы «Передача прошла успешно» или если у них возникла проблема «Возникла проблема» ....... что я делаю неправильно ... .это сообщение, которое я получаю после передачи файлов

sftp> invalid command name "EOD"  
while executing               
"EOD"                             

#!/usr/bin/expect<<EOD > output.log      
#
spawn sftp -o Port=22 HOSTDNS@HOSTDNS.com    
expect "assword:"                        
send "password\r"                         
expect "sftp>"                           
send "lcd /usr/lib/basic/TEMP/TRANS\r"   
expect "sftp>"                           
send "cd /home/denni/STORAGE\r"          
expect "sftp>"                           
send "mput *\r"                          
expect "sftp>"                           
send "bye\r"                             
EOD                                                                             
RC=$?                                                                           
if [[ ${RC} -ne 0 ]]; then                                                      
  cat output.log | mail -s "Errors Received"
"username@somewhere.com"  
else                                                                            
  echo "Success" | mail -s "Transfer Successful"
"username@somewhere.com "                                                                             
fi

1 Ответ

0 голосов
/ 04 апреля 2019

Убедитесь, что у вас есть bash в верхней части скрипта, и что после EOD нет пробелов.Это работает для меня.Обратите внимание, что я удалил #!с начала ожидаемого двоичного файла, а также.

#!/bin/bash

/usr/bin/expect <<EOD > output.log
spawn sftp username@hostname
expect "assword:"
send "password\r"
expect "sftp>"
send "ls\r"
expect "sftp>"
send "bye\r"
EOD
...