Crontab + .sh + php

General Tech Bugs & Fixes 3 years ago

3.39K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

I'm trying to call a shell script every 5 minutes, witch executes php file under root.

# crontab -l
*/5 * * * * /home/regularuser/call.sh

permissions:

-rw-rw-rw-  1 root   root        162 Jun  6 23:40 call.php
-rwxr-xr-x  1 root   root         66 Jun  7 01:20 call.sh

call.sh contents:

#!/bin/bash
php -q /home/regularuser/call.php
echo "request processed"

My problem is that my php file doesn't get executed via crontab. However, if I call call.sh - everything works perfectly.

I'm new to crontab and shell scripting, so any advice/resources are welcome.

0 views
0 shares

profilepic.png
manpreet 3 years ago

 

Remember that Cron will run with a very minimal environment. Certain important things like PATH may be different then what you expected.

Try logging the output of the command to syslog, like this:

*/5 * * * * /home/regularuser/call.sh 2>&1 | logger -t call.sh

This will print any stdout and stderr to your system logs, usually to /var/log/messages . From here, use 'grep call.sh /var/log/messages' to see your error, which will likely be 1-2 lines.

I often prefer to log errors like this, instead of spamming email. But this is only useful for short messages.

Once you find the error message, update your question with the error. Or, you might be able to figure this out for yourself ;)


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum