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