0

I want to run some application specific cleanup code when Apache is restarted. First, I followed the steps from https://stackoverflow.com/questions/2992938/is-it-possible-to-launch-a-php-script-at-apache-startup. I changed /etc/init.d/apache2 on a local Ubuntu 16.04.1 LTS virtual machine with Apache/2.4.18, adding some code under start and it worked perfectly. But when I tried to follow the exact same steps on the Ubuntu 16.04.2 LTS with Apache/2.4.23 hosted on AWS, it was almost like my changes are being ignored. I've put in a number of "echo" statements to understand what is going on, but I am not seeing any sign the code is being run.

This is what I changed in /etc/init.d/apache2

start)
    log_daemon_msg "Starting $DESC" "$NAME"
    do_start
    RET_STATUS=$?
    case "$RET_STATUS" in
            0|1)
                    log_success_msg
                    [ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running"
            ;;
            2)
                    log_failure_msg
                    print_error_msg
                    exit 1
                    ;;
    esac
    # Restart the reports that would have died when the server is restarted
    echo Restarting reports
    echo `date +%Y-%m-%d:%H:%M:%S` Starting report:restart_running_reports >> /var/www/application/storage/logs/restart_running_reports.log
    php /var/www/application/artisan report:restart_running_reports
    ;;
  • Is there some sort of way to log what is going on in /etc/init.d/apache2 to see if it is even making it to that switch statement? Where do the log_daemon_msg end up?
  • Is there some other way to run scripts when Apache is started/restarted?
2
  • You might try using the absolute path name to php because $PATH is likely to be restricted for boot which you don't really see when running the same script manually from your console
    – HBruijn
    Jul 7, 2017 at 4:41
  • That is a good point, but I'm not even seeing the log file being written to. restart_running_reports.log never gets written to. I tried to simulate it by logging in as www-data and it doesn't look like a permissions issue. Jul 7, 2017 at 18:31

0

You must log in to answer this question.

Browse other questions tagged .