Script Bash, sem incluir a variável que não está vazia, mas na saída está vazia

0

Eu tenho um problema com o script bash. Eu estou fazendo backup dos dispositivos. Eu escrevi script bash simples, que irá baixar arquivos. Na verdade, o curinga não está funcionando, então estou fazendo esse caminho manual. Quando eu dispositivo variável, não é incluído na variável filelog, filebackup ou fileexport. Você pode me ajudar por favor? Eu estou incluindo código.

    #!/bin/bash
user="admin"
address="IP"
#command will get devcie hostname in complex form 
ssh $user@$address '/system identity print interval=' > devices

#will get device hostname
tmpDevices=$(cat devices)
device=$(echo $tmpDevices | awk ' {print $2} ')
echo "Device hostname is $device"

#custom months names
day=$(date +%d)
mon=$(date +%m)
if [ $mon == 12 ]
then
    mon="dec"
elif [ $mon == 1 ]
then
      mon="jan"
elif [ $mon == 2  ]
then
    mon="feb"
elif [ $mon == 3  ]
then
    mon="mar"
elif [ $mon == 4  ]
then
    mon="apr"
elif [ $mon == 5  ]
then
    mon="may"
elif [ $mon == 6  ]
then
    mon="jun"
elif [ $mon == 7  ]
then
    mon="jul"
elif [ $mon == 8  ]
then
    mon="aug"
elif [ $mon == 9  ]
then
    mon="sep"
elif [ $mon == 10  ]
then
    mon="oct"
elif [ $mon == 11  ]
then
    mon="nov"
fi



#Creation of backup, log export, export file
#echo "Creating backup file"
#ssh $user@$address ':local name [/system identity get name];:local date [/system clock get date];:local day [ :pick $date 4 6 ];:local month [ :pick $date 0 3 ];:local backupName ($name."_".$month.$day."backup");:put $backupName;/system backup save name=$backupName'
#echo "exporting config"
#ssh $user@$address ':local name [/system identity get name];:local date [/system clock get date];:local day [ :pick $date 4 6 ];:local month [ :pick $date 0 3 ];:local backupName ($name."_".$month.$day."export");:put $backupName;/export file=$backupName'
#echo "exporting log"
#ssh $user@$address ':local name [/system identity get name];:local date [/system clock get date];:local day [ :pick $date 4 6 ];:local month [ :pick $date 0 3 ];:local backupName ($name."_".$month.$day."log");:put $backupName;/log print file=$backupName'

#editing month format
filelog="${device}_${mon}${day}log.txt"
filebackup="${device}_${mon}${day}backup.backup"
fileexport="${device}_${mon}${day}export.rsc"
echo $device
echo $filelog
echo $filebackup
echo $fileexport

Quando executo o script, ele me mostra dispositivos como Mikrotik, mas não está incluso na variável. A saída é _dec06log.txt etc.

Obrigado. Adrian

    
por Adrian Bardossy 06.12.2017 / 14:36

0 respostas