diff options
Diffstat (limited to 'satellit_installer')
4 files changed, 28 insertions, 1 deletions
diff --git a/satellit_installer/includes/90-patch_slxadmin.inc b/satellit_installer/includes/90-patch_slxadmin.inc index c55e367..99f4c16 100644 --- a/satellit_installer/includes/90-patch_slxadmin.inc +++ b/satellit_installer/includes/90-patch_slxadmin.inc @@ -25,5 +25,9 @@ patch_slxadmin () { # Add system cronjob to execute slx-admin cronjob cp "$BASEDIR/static_files/slxadmin-crontab" "/etc/cron.d/slx-admin" || perror "could not install slxadmin crontab" cp "$BASEDIR/static_files/slxadmin-cronscript" "/opt/openslx/slxadmin-cronscript" || perror "could not install slxadmin cronscript" + # Add script and service to trigger init hook + cp "$BASEDIR/static_files/slxadmin-bootscript" "/opt/openslx/slxadmin-bootscript" || perror "could not install slxadmin bootscript" + cp "$BASEDIR/static_files/slxadmin-boot.service" "/etc/systemd/system/slxadmin-boot.service" || perror "could not install slxadmin boot service" + ln -nfs "../slxadmin-boot.service" "/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service" || perror "Could not enable slxadmin boot service" } diff --git a/satellit_installer/static_files/slxadmin-boot.service b/satellit_installer/static_files/slxadmin-boot.service new file mode 100644 index 0000000..21bdf51 --- /dev/null +++ b/satellit_installer/static_files/slxadmin-boot.service @@ -0,0 +1,13 @@ +[Unit] +Description=Trigger init hooks of slx-admin +RefuseManualStart=yes +Before=lighttpd.service +After=mariadb.service mysql.service network.target taskmanager.service +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/opt/openslx/slxadmin-bootscript + +[Install] +WantedBy=multi-user.target diff --git a/satellit_installer/static_files/slxadmin-bootscript b/satellit_installer/static_files/slxadmin-bootscript new file mode 100755 index 0000000..98aafed --- /dev/null +++ b/satellit_installer/static_files/slxadmin-bootscript @@ -0,0 +1,11 @@ +#!/bin/sh + +FILE=$(mktemp) + +if ! php /srv/openslx/www/slx-admin/api.php init > "$FILE" 2>&1; then + php /srv/openslx/www/slx-admin/api.php init --crashreport "$FILE" +fi + +rm -- "$FILE" +sleep 1 +exit 0 diff --git a/satellit_installer/static_files/slxadmin-crontab b/satellit_installer/static_files/slxadmin-crontab index ecae4b1..440ac35 100644 --- a/satellit_installer/static_files/slxadmin-crontab +++ b/satellit_installer/static_files/slxadmin-crontab @@ -3,6 +3,5 @@ SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -@reboot www-data sleep 15 && php /srv/openslx/www/slx-admin/api.php init > /dev/null 2>&1 */5 * * * * www-data /opt/openslx/slxadmin-cronscript |