Скрипт для забора конфигов с Хуавея по ftp

Хуавей - наше фсё... Выяснилось, что эти чудесные железки не умеют отдавать конфиг по tftp, если destination в vrf. Так что пришлось взводить на каждом узле фтп сервер, и ходить на него скриптом для выгребания конфигов на NMS.


#!/bin/sh

#Start script w/o errors output:
#bash script.sh 2>/dev/null

# CFG_FILE format (remove '#' at used line):

##Comment line
##Hostname Host_Address Login Password SRC_file
# host1-ex-net 10.1.1.1 login1 passwd1 vrpcfg.zip
# host1-ex-net 10.2.2.2 login2 passwd2 vrpcfg.cfg


# Define Variables
#HOME='/home/rmavrichev/Desktop/TEST-FTP'
HOME=`pwd`
DATE=`date +%Y'-'%m'-'%d`
TIME=`date +%H'-'%M'-'%S`
CFG_FILE=`printf $HOME/host_list.txt`
LOG_FILE=`printf $HOME/script_log.log`

# Make directory of current date, make that directory local
mkdir $HOME/$DATE
cd $HOME/$DATE

#Define loop, get current host address

for HOST in `cat $CFG_FILE | grep -v '#' | awk -F" " '{print $2}'`
do

# get current variables: Hostname/login/passw/src_file

LINE=`cat $CFG_FILE | grep $HOST`
HOSTNAME=`echo $LINE | awk -F" " '{print $1}'`
USER=`echo $LINE | awk -F" " '{print $3}'`
PASSWD=`echo $LINE | awk -F" " '{print $4}'`
SRC_FILE=`echo $LINE | awk -F" " '{print $5}'`
DST_FILE=`printf $SRC_FILE`

#TEST Variables
#echo
#echo $LINE
#echo $HOSTNAME
#echo $HOST
#echo $USER
#echo $PASSWD
#echo $SRC_FILE

# Connect to FTP HOST and get File
/usr/bin/ftp -ivn $HOST <>$LOG_FILE 2>&1
quote USER $USER
quote PASS $PASSWD
bin
get $SRC_FILE $TIME-$HOSTNAME-$DST_FILE
quit
END_SCRIPT

done
exit 0