59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Second stage of update
|
|
USER=pi
|
|
birdnet_conf=/home/pi/BirdNET-Pi/birdnet.conf
|
|
my_dir=${HOME}/BirdNET-Pi/scripts
|
|
|
|
# Stage 1 updates the services
|
|
sudo ${my_dir}/update_services.sh
|
|
|
|
# Stage 1.5: adding new birdnet.conf entries
|
|
if ! grep FULL_DISK ${birdnet_conf} &> /dev/null;then
|
|
cat << EOF >> ${birdnet_conf}
|
|
|
|
## FULL_DISK can be set to configure how the system reacts to a full disk
|
|
## purge = Remove the oldest day's worth of recordings
|
|
## keep = Keep all data and `stop_core_services.sh`
|
|
|
|
FULL_DISK=purge
|
|
EOF
|
|
fi
|
|
|
|
if ! grep AUDIOFMT ${birdnet_conf} &> /dev/null;then
|
|
cat<< EOF >> ${birdnet_conf}
|
|
## AUDIOFMT set the audio format that sox should use for the extractions.
|
|
## The default is mp3. Available formats are: 8svx aif aifc aiff aiffc al amb
|
|
## amr-nb amr-wb anb au avr awb caf cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8
|
|
## fap flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud
|
|
## mp2 mp3 nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 sb sd2 sds sf sl
|
|
## sln smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8
|
|
## ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
|
|
## Note: Most have not been tested.
|
|
|
|
AUDIOFMT=mp3
|
|
EOF
|
|
fi
|
|
|
|
sudo -u${USER} sed -i 's/EXTRACTIONLOG_URL/WEBTERMINAL_URL/g' ${birdnetconf}
|
|
|
|
# Replace Backup labels.txt
|
|
sudo -u${USER} cp -f ~/BirdNET-Pi/model/labels.txt.bak ~/BirdNET-Pi/model/labels.txt
|
|
|
|
# Stage 2 restarts the services
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl stop birdnet_recording.service
|
|
sudo rm -rf ${RECS_DIR}/$(date +%B-%Y/%d-%A)/*
|
|
services=(web_terminal.service
|
|
spectrogram_viewer.service
|
|
pushed_notifications.service
|
|
livestream.service
|
|
icecast2.service
|
|
extraction.service
|
|
chart_viewer.service
|
|
birdnet_recording.service
|
|
birdnet_log.service)
|
|
|
|
for i in "${services[@]}";do
|
|
sudo systemctl restart "${i}"
|
|
done
|