mirror of
https://github.com/librenms/docker.git
synced 2026-01-23 02:14:48 +00:00
Allow disabling cron and DB migration to support >1 UI server per deployment
Support pre-cronjob hooks to enable running cronjobs conditionally (such as on the 0th pod of a Kubernetes statefulset).
This commit is contained in:
parent
74d179c244
commit
eb4b035806
2 changed files with 16 additions and 6 deletions
|
|
@ -33,6 +33,7 @@ DB_TIMEOUT=${DB_TIMEOUT:-60}
|
|||
SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0}
|
||||
SIDECAR_SYSLOGNG=${SIDECAR_SYSLOGNG:-0}
|
||||
SIDECAR_SNMPTRAPD=${SIDECAR_SNMPTRAPD:-0}
|
||||
DISABLE_DB_MIGRATE=${DISABLE_DB_MIGRATE:-0}
|
||||
|
||||
if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then
|
||||
exit 0
|
||||
|
|
@ -77,9 +78,13 @@ if [ "${counttables}" -eq "0" ]; then
|
|||
echo "INSTALL=user,finish" >>${LIBRENMS_PATH}/.env
|
||||
fi
|
||||
|
||||
echo "Updating database schema..."
|
||||
lnms migrate --force --no-ansi --no-interaction
|
||||
artisan db:seed --force --no-ansi --no-interaction
|
||||
if [ "${DISABLE_DB_MIGRATE}" -ne "1" ] ; then
|
||||
echo "Updating database schema..."
|
||||
lnms migrate --force --no-ansi --no-interaction
|
||||
artisan db:seed --force --no-ansi --no-interaction
|
||||
else
|
||||
echo "Skipping database migration and seeding as DISABLE_DB_MIGRATE is set to 1."
|
||||
fi
|
||||
|
||||
echo "Clear cache"
|
||||
artisan cache:clear --no-interaction
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
set -e
|
||||
|
||||
CRONTAB_PATH="/var/spool/cron/crontabs"
|
||||
CRON_HOOK_PATH="/data/cron-pre-hook"
|
||||
|
||||
LIBRENMS_WEATHERMAP=${LIBRENMS_WEATHERMAP:-false}
|
||||
LIBRENMS_WEATHERMAP_SCHEDULE=${LIBRENMS_WEATHERMAP_SCHEDULE:-*/5 * * * *}
|
||||
|
|
@ -11,8 +12,12 @@ LIBRENMS_DAILY_SCHEDULE="15 0 * * *"
|
|||
SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0}
|
||||
SIDECAR_SYSLOGNG=${SIDECAR_SYSLOGNG:-0}
|
||||
SIDECAR_SNMPTRAPD=${SIDECAR_SNMPTRAPD:-0}
|
||||
DISABLE_CRON=${DISABLE_CRON:-0}
|
||||
|
||||
if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then
|
||||
if [ "$SIDECAR_DISPATCHER" = "1" ] || \
|
||||
[ "$SIDECAR_SYSLOGNG" = "1" ] || \
|
||||
[ "$SIDECAR_SNMPTRAPD" = "1" ] || \
|
||||
[ "$DISABLE_CRON" = "1" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
|
@ -23,11 +28,11 @@ touch ${CRONTAB_PATH}/librenms
|
|||
|
||||
# Cron
|
||||
echo "Creating LibreNMS daily.sh cron task with the following period fields: $LIBRENMS_DAILY_SCHEDULE"
|
||||
echo "${LIBRENMS_DAILY_SCHEDULE} cd /opt/librenms/ && bash daily.sh" >>${CRONTAB_PATH}/librenms
|
||||
echo "${LIBRENMS_DAILY_SCHEDULE} [ -e \"${CRON_HOOK_PATH}\" ] && source \"${CRON_HOOK_PATH}\" ; cd /opt/librenms && bash daily.sh" >>${CRONTAB_PATH}/librenms
|
||||
|
||||
if [ "$LIBRENMS_WEATHERMAP" = "true" ] && [ -n "$LIBRENMS_WEATHERMAP_SCHEDULE" ]; then
|
||||
echo "Creating LibreNMS Weathermap cron task with the following period fields: $LIBRENMS_WEATHERMAP_SCHEDULE"
|
||||
echo "${LIBRENMS_WEATHERMAP_SCHEDULE} php -f /opt/librenms/html/plugins/Weathermap/map-poller.php" >>${CRONTAB_PATH}/librenms
|
||||
echo "${LIBRENMS_WEATHERMAP_SCHEDULE} [ -e \"${CRON_HOOK_PATH}\" ] && source \"${CRON_HOOK_PATH}\" ; php -f /opt/librenms/html/plugins/Weathermap/map-poller.php" >>${CRONTAB_PATH}/librenms
|
||||
fi
|
||||
|
||||
echo "Creating LibreNMS cron artisan schedule:run"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue