Home / DSM / DSM Howto's / Oplossing Synology bug syslog-ng

Oplossing Synology bug syslog-ng

Alge, een lezer van ons blog heeft ons gevraagd om een artikel van hem te posten. Dit artikel is dus niet geschreven door iemand van My Synology. Wanneer je contact wilt opnemen met Alge dan kan je een reactie achter onder het bericht.

Een tijdje geleden kreeg ik op mijn Syno 713+ te maken met een rare bug: syslog-ng en de sub-services syslog-acc en syslog-notify werkten niet meer. De melding was “System internal service [syslog-ng, syslog-acc, syslog-notify] failed to start. Please contact Synology support for assistance”. En als gevolg daarvan deed de logging van de mailserver ook gelijk niets meer.

In de forums van synology.com stond een aantal soortgelijke meldingen en Synology beloofde t.z.t. de zaak te zullen oplossen.
In de maanden erna draaide ik update na update, maar de bug werd niet opgelost en de klachten bleven in de syno-forums. Wel was duidelijk dat je de bewuste services gewoon handmatig kon starten, maar… toch vervelend. Daarom heb ik zelf maar een simpel bash-scriptje gemaakt dat na reboot van het systeem een controle uitvoert en, als blijkt dat de syslog services niet gestart zijn, de services dan alsnog start.

Het script ziet er in alle eenvoud zo uit, en wordt in /etc/rc.local neergezet:

#—————————————————————

#!/opt/bin/bash

LOG=/var/log/syslog.log
NOW=$(date +”%m-%d-%Y-%R-%S”)

exec &> >(/usr/bin/tee -a “$LOG”)
exec 2>&1

synoservicecfg –status syslog-ng
if [[ $? == 0 ]]; then echo “$NOW syslog-ng service is up”
else
echo “$NOW syslog-ng is down, trying to start….”
synoservicecfg –start syslog-ng
fi

synoservicecfg –status syslog-acc
if [[ $? == 0 ]]; then echo “$NOW syslog-acc service is up”
else
echo “$NOW syslog-acc service is down, trying to start….”
synoservicecfg –start syslog-acc
fi

synoservicecfg –status syslog-notify
if [[ $? == 0 ]]; then echo “$NOW syslog-notify service is up”
else
echo “$NOW syslog-notify service is down, trying to start….”
synoservicecfg –start syslog-notify
fi

# show new status of syslog services

synoservicecfg –status syslog-ng
synoservicecfg –status syslog-acc
synoservicecfg –status syslog-notify

#————————————————————–

N.B. Dit bash script werkt niet in de standaard ash-shell van busybox, want ash is een sterk geminimaliserde versie van bash. Zoals je in de header ziet, is in /opt/bin bash geinstalleerd m.b.v. de ipkg installer.
Meer info over ipkg vindt je hier:https://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc

Wil je het probleem verder volgen dan kan dat hier: https://forum.synology.com/enu/viewtopic.php?f=19&t=100769

Wanneer je inhoudelijke vragen hebt die je niet met anderen wilt delen dan kan je contact opnemen met de auteur van dit artikel via e-mail . Om zoveel mogelijk mensen te helpen willen bij voorkeur dat je je vraag hieronder in de comments plaatst.

About Gast Blogger

Soms wordt er contact met ons opgenomen door lezers die een stukje geschreven hebben wat we mogen gebruiken op het weblog. Deze stukjes komen dan terug onder het account Gast Blogger. Dit is de eerste die we publiceren. Wil je jouw artikel ook geplaatst hebben dan kan je contact met ons opnemen!!!

Geef een reactie