#!/bin/bash #This script will download the ardop list to the path set below #It is intended to be run by cron daily #to keep the list current. km4ack 20181214 #Hint: create a cron job that reads #30 23 * * * /usr/local/bin/getardoplist #This script is provided AS IS #Feel free to mod for your use #Two versions of this script exist. One for manual downloads and #one for cron downloads. The one for cron has no YAD interface. #Cron wouldn't run correctly with YAD in the code. The other file #is .getardoplist-cron TODAY=$(date) #path where files are located #must match path in findardop script MYPATH=$HOME/patmenu2/ardop-list/ #my log file LOG=$HOME/Documents/mylog.txt #set config file location for pat version VERSION=$(pat version | awk '{print $2}' | awk -F "." '{print $2}') if [ $VERSION -le 11 ]; then MYCONFIG=$HOME/.wl2k/config.json else MYCONFIG=$HOME/.config/pat/config.json fi GRIDCK=$(jq .locator $MYCONFIG) if [ ${#GRIDCK} -lt 3 ] then echo "Grid square not set in Pat Configure" | tee -a $LOG echo "Distances/Bearings will not be accurate" exit fi GRID=$(grep locator $MYCONFIG | sed 's/"locator"://;s/"//g;s/,//;s/ //g') echo "GRID=$GRID" > $HOME/patmenu2/.grid #make directory if it doesn't exist mkdir -p $MYPATH #set variables for each list FILE=$MYPATH'ardoplist.txt' EIGHTY=$MYPATH'80mardoplist.txt' FORTY=$MYPATH'40mardoplist.txt' TWENTY=$MYPATH'20mardoplist.txt' THIRTY=$MYPATH'30mardoplist.txt' PACKET=$MYPATH'packet.txt' #check internet connection echo "Please wait while we check your internet connection" echo "This may take up to a minute" wget -q --tries=5 --timeout=10 --spider http://google.com if [[ $? -eq 0 ]]; then echo echo echo "Please wait while files are download" echo "This may take several minutes" echo "Depending on your internet speed" else #check for internet before attempting to download the list internet=1 #set the test to false while [ "$internet" = 1 ]; do echo "check for internet connection" ping -c 5 8.8.8.8 internet=$? sleep 60 #wait one minute before trying again done echo "Internet connection detected" fi #remove old files before downloading new ones if [ -f $THIRTY ]; then rm $THIRTY fi if [ -f $FILE ]; then rm $FILE fi if [ -f $EIGHTY ]; then rm $EIGHTY fi if [ -f $FORTY ]; then rm $FORTY fi if [ -f $TWENTY ]; then rm $TWENTY fi if [ -f $PACKET ]; then rm $PACKET fi #create file that has grid variable used in calculations touch $HOME/patmenu2/ardop-list/grid.txt MYGRID=$(grep locator $HOME/.config/pat/config.json | sed 's/.*": //;s/"//g;s/,//') echo "GRID=$MYGRID" > $HOME/patmenu2/ardop-list/grid.txt echo "LASTDL=List downloaded `date`" >> $HOME/patmenu2/ardop-list/grid.txt #download list to individual files. DL(){ pat rmslist -s --mode ardop --force-download >> $FILE pat rmslist -s --band 80m --mode ardop --force-download >> $EIGHTY pat rmslist -s --band 40m --mode ardop --force-download >> $FORTY pat rmslist -s --band 20m --mode ardop --force-download >> $TWENTY pat rmslist -s --band 30m --mode ardop --force-download >> $THIRTY pat rmslist -s --mode packet --force-download >> $PACKET } DL if [ -f "$FILE" ] then echo $TODAY" RMS Gateway list download Success" >> $LOG echo;echo "RMS gateway list download success" else echo $TODAY" RMS Gateway list download FAIL" >> $LOG echo;echo "RMS gateway list failed to download" fi