Search code examples
linuxcronrhelwiremock

Issue when starting wiremock-standalone using crontab


I have a new regression suite that uses the Wiremock standalone JAR. In order to ensure this is running on the server, I have this script called checkwiremock.sh

#!/bin/bash

cnt=$(ps -eaflc --sort stime | grep wiremock-standalone-2.11.0.jar |grep -v grep | wc -l)
if(test $cnt -eq 1);
then
    echo "Service already running..."
else
    echo "Starting Service"
    nohup java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324 --verbose &
fi

The script works as expected when ran manually

./checkwiremock.sh

However when started using Crontab,

* * * * * /bin/bash /etc/opt/wiremock/checkwiremock.sh

Wiremock returns

No response could be served as there are no stub mappings in this WireMock instance.

The only difference I can see between the manually started process and cron process is the TTY

root     31526  9.5  3.2 1309736 62704 pts/0   Sl   11:28   0:01 java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324
root     31729 22.0  1.9 1294104 37808 ?       Sl   11:31   0:00 java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324

Can't figure out what is wrong here.

Server details: Red Hat Enterprise Linux Server release 6.5 (Santiago)

*Edit: corrected paths to ones actually used


Solution

  • Change the directory in the checkwiremock.sh to:

    cd /path/to/shell/script