90 lines
2.3 KiB
Bash
Executable File
90 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Uninstall script to remove everything
|
|
# set -x # Uncomment to debug
|
|
trap 'rm -f ${TMPFILE}' EXIT
|
|
source /etc/birdnet/birdnet.conf &> /dev/null
|
|
SCRIPTS=(/usr/local/bin/birdnet_analysis.sh
|
|
/usr/local/bin/birdnet_recording.sh
|
|
/usr/local/bin/birdnet_stats.sh
|
|
/usr/local/bin/cleanup.sh
|
|
/usr/local/bin/disk_usage.sh
|
|
/usr/local/bin/dump_logs.sh
|
|
/usr/local/bin/extract_new_birdsounds.sh
|
|
/usr/local/bin/install_birdnet.sh
|
|
/usr/local/bin/install_config.sh
|
|
/usr/local/bin/install_services.sh
|
|
/usr/local/bin/install_tmux_services.sh
|
|
/usr/local/bin/install_zram_service.sh
|
|
/usr/local/bin/livestream.sh
|
|
/usr/local/bin/pretty_date.sh
|
|
/usr/local/bin/reconfigure_birdnet.sh
|
|
/usr/local/bin/species_notifier.sh
|
|
/usr/local/bin/uninstall.sh
|
|
/usr/local/bin/update_species.sh
|
|
${HOME}/.gotty)
|
|
|
|
|
|
SERVICES=(avahi-alias@birdlog.local.service
|
|
avahi-alias@birdnetsystem.local.service
|
|
avahi-alias@birdstats.local.service
|
|
avahi-alias@extractionlog.local.service
|
|
avahi-alias@birdterminal.local.service
|
|
birdnet_analysis.d
|
|
birdnet_analysis.service
|
|
birdnet_log.service
|
|
birdnet_recording.d
|
|
birdnet_recording.service
|
|
birdstats.service
|
|
birdterminal.service
|
|
caddy.d
|
|
caddy.service
|
|
extraction_log.service
|
|
extraction.d
|
|
extraction.service
|
|
extraction.timer
|
|
livestream.service
|
|
${SYSTEMD_MOUNT})
|
|
|
|
remove_services() {
|
|
for i in "${SERVICES[@]}"; do
|
|
if [ -L /etc/systemd/system/multi-user.target.wants/"${i}" ];then
|
|
sudo systemctl disable --now "${i}"
|
|
fi
|
|
if [ -f /etc/systemd/system/"${i}" ];then
|
|
sudo rm /etc/systemd/system/"${i}"
|
|
fi
|
|
if [ -d /etc/systemd/system/"${i}" ];then
|
|
sudo rm -drf /etc/systemd/system/"${i}"
|
|
fi
|
|
done
|
|
remove_icecast
|
|
remove_crons
|
|
}
|
|
|
|
remove_crons() {
|
|
TMPFILE=$(mktemp)
|
|
crontab -l | sed -e '/birdnet/,+1d' > "${TMPFILE}"
|
|
crontab "${TMPFILE}"
|
|
}
|
|
|
|
remove_icecast() {
|
|
if [ -f /etc/init.d/icecast2 ];then
|
|
sudo /etc/init.d/icecast2 stop
|
|
sudo systemctl disable --now icecast2
|
|
fi
|
|
}
|
|
|
|
remove_scripts() {
|
|
for i in "${SCRIPTS[@]}";do
|
|
if [ -L "${i}" ];then
|
|
sudo rm -v "${i}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
remove_services
|
|
remove_scripts
|
|
if [ -d /etc/birdnet ];then sudo rm -drf /etc/birdnet;fi
|
|
if [ -f ${HOME}/BirdNET-Lite/birdnet.conf ];then sudo rm -f ${HOME}/BirdNET-Lite/birdnet.conf;fi
|
|
echo "Uninstall finished. Remove this directory with 'rm -drfv' to finish."
|