diff --git a/install/mmdvm.sh b/install/mmdvm.sh index b955422..2c751ea 100644 --- a/install/mmdvm.sh +++ b/install/mmdvm.sh @@ -577,6 +577,74 @@ WantedBy=multi-user.target EOF # +##################################################################################################################### + +cat > /opt/data-file.sh <<- "EOF" +#! /bin/bash +############################################################################### +# +# CONFIGURATION +# +# Full path to DMR ID file, without final slash +DMRIDPATH=/opt/data-files +DMRIDFILE=${DMRIDPATH}/DMRIds.dat +# DMR IDs now served by RadioID.net +#DATABASEURL='https://ham-digital.org/status/users.csv' +DATABASEURL='https://www.radioid.net/static/user.csv' +# +# How many DMR ID files do you want backed up (0 = do not keep backups) +DMRFILEBACKUP=1 +# +# Command line to restart MMDVMHost +#RESTARTCOMMAND="sudo systemctl restart mmdvmh.service "" +# RESTARTCOMMAND="killall MMDVMHost ; /path/to/MMDVMHost/executable/MMDVMHost /path/to/MMDVM/ini/file/MMDVM.ini" +############################################################################### +# +# Do not edit below here +# +############################################################################### +# Check we are root +if [ "$(id -u)" != "0" ] +then + echo "This script must be run as root" 1>&2 + exit 1 +fi +# Create backup of old file +if [ ${DMRFILEBACKUP} -ne 0 ] +then + cp ${DMRIDFILE} ${DMRIDFILE}.$(date +%d%m%y) +fi +# Prune backups +BACKUPCOUNT=$(ls ${DMRIDFILE}.* | wc -l) +BACKUPSTODELETE=$(expr ${BACKUPCOUNT} - ${DMRFILEBACKUP}) +if [ ${BACKUPCOUNT} -gt ${DMRFILEBACKUP} ] +then + for f in $(ls -tr ${DMRIDFILE}.* | head -${BACKUPSTODELETE}) + do + rm $f + done +fi +# Generate new file +#sh /opt/XLXHostsupdate.sh +wget https://www.radioid.net/static/nxdn.csv -O /opt/data-files/NXDN.csv +wget http://www.pistar.uk/downloads/YSF_Hosts.txt -O /opt/data-files/YSF_Hosts.txt +wget http://www.pistar.uk/downloads/FCS_Hosts.txt -O /opt/data-files/FCS_Hosts.txt +wget http://www.pistar.uk/downloads/TGList_BM.txt -O /opt/data-files/TGList-DMR.txt +curl ${DATABASEURL} 2>/dev/null | sed -e 's/\t//g' | awk -F"," '/,/{gsub(/ /, "", $2); printf "%s\t%s\t%s\n", $1, $2, $3}' | sed -e 's/\(.\) .*/\1/g' > ${DMRIDPATH}/DMRIds.tmp +NUMOFLINES=$(wc -l ${DMRIDPATH}/DMRIds.tmp | awk '{print $1}') +if [ $NUMOFLINES -gt 1 ] +then + mv ${DMRIDPATH}/DMRIds.tmp ${DMRIDFILE} +else + echo " ERROR during file update " + rm ${DMRIDPATH}/DMRIds.tmp +fi +# Restart ysf2dmr +eval ${RESTARTCOMMAND} +EOF +### +chmod +x /opt/data-file.sh +sh /opt/data-file.sh ###############################################################################################################################