Logrotate per i Reflector

In questo articolo abbiamo visto come comprimere i file di Log di HBLink ed HBMonitor.
Adesso però vogliamo fare pulizia sui file di log generati dai nostri Reflector e Bridge
XLX / YSF / NXDN / P25 / SVX / APRS .
Come avrete notato, ogni giorno viene generato un nuovo file che ha come estensione la data corrente (per esempio per il gateway Aprs è APRSGateway-2020-09-23.log) in /var/log/mmdvm .
Non è pensabile cancellare manualmente i vari file di log a cadenze regolari, per cui ci siamo messi a studiare come poterlo fare con degli script di automatismo.
Anche qui interviene il fantomatico commando logrotate ed abbiamo generato il seguente script:
nano /etc/logrotate.d/aprsgateway inserendo il seguente codice:

/var/log/mmdvm/APRSGateway.log
{
daily
rotate 7
maxage 7
dateext
dateformat -%Y-%m-%d
extension .log
ifempty
create

firstaction
today=$(date +"%Y-%m-%d")
filename="/var/log/mmdvm/APRSGateway-$today.log"
if [ -f "$filename" ]; then
mv /var/log/mmdvm/APRSGateway-$today.log /var/log/mmdvm/APRSGateway.log
fi
endscript

}

Ora si tratta di far in modo che al suo avvio questo script possa trovare il file /var/log/mmdvm/APRSGateway.log altrimenti andrebbe in errore.
Quindi dovremo semplicemente eseguire:
cp /var/log/mmdvm/APRSGateway-2020-09-23.log /var/log/mmdvm/APRSGateway.log
Fatto ?
Facciamo un test del nostro script eseguendo:
logrotate –force /etc/logrotate.d/aprsgateway
Se tutto è andato a buon fine e non visualizziamo errori di esecuzione, basterà dare
ls -la /var/log/mmdvm/APRS*.log per vedere che esistono solo 7 file e che APRSGateway.log contiene 0 byte.

Questo esempio può essere usato anche per tutti gli altri servizi dei nostri Reflector, MMDVM_Bridge, Analog_Bridge con opportuni adattamenti.