I have this code bellow to run in command line but is not working. I tried in command line to run without the cron tab and it works. Anyone knows how to fix it ? Thanks in advance.
*/5 * * * * /usr/bin/php /var/www/html/ulchemdb/File_upload/uploads/crontab.php > /dev/null 2>&1
Crontab line is ok:
*/5 * * * * php /var/www/html/ulchemdb/File_upload/uploads/crontab.php
I think the problem with script.
try to run it manualy:
php /var/www/html/ulchemdb/File_upload/uploads/crontab.php
or if You don't have opportunity to get to console do following:
enable error reporting
add line to then end of crontab.php:
echo "\nCOMPLETED SUCCESSFULY\n"
add this crontab line:
*/5 * * * * php /var/www/html/ulchemdb/File_upload/uploads/crontab.php >> /var/www/html/ulchemdb/File_upload/uploads/crontab.log
Also You can share with us Your code, we'll try to help You somehow.
Where is your php is? It can be clarified with "which php" or "whereis php" commands. Use this path as your php executable path.
Try to execute this command manually. Is it works? If no => problem not in crontab.
If yes => remove output redirecting to dev/null for a time (remove part " > /dev/null 2>&1"), use redirecting to log file, for instance:
*/5 * * * * PATH-TO-PHP/php /var/www/html/ulchemdb/File_upload/uploads/crontab.php > /var/log/php.log 2>&1
Investigate a log after some time. Is there something? If no => make sure you script have some output.
try
*/5 * * * * php /var/www/html/ulchemdb/File_upload/uploads/crontab.php > /dev/null 2>&1
Related
When i run my url https://localhost/panel/index.php?m=user_games&p=check_expire by using chrome the code is run and shutting down the server when expier.
But when i need to run this as a crontab using this command:
* * * * * * wget -q --spider "https://localhost/panel/index.php?m=user_games&p=check_expire"
nothing happend, why?
Seem the crontab not run, because you define wrong crontab command. You put six *, as I know we just need five *. Please try like this
* * * * * wget -q --spider "https://localhost/panel/index.php?m=user_games&p=check_expire"
To make sure your crontab run, please create log when wget executed.
I'm having a PHP script which I want to run every 2 minutes using a Cron job in Ubuntu. I'm getting the following error:
bash: */2: No such file or directory
I've completed all steps below to set up a Cron job.
Please help me to resolve the error, I don't understand what I'm doing wrong.
1) Write this command in my terminal: where is php
Output:
php: /usr/bin/php /usr/bin/X11/php /usr/share/php /opt/lampp/bin/php /usr/share/man/man1/php.1.gz
2) Run a PHP script every 2 minutes:
*/2 * * * * /usr/bin/php /opt/lampp/htdocs/kyrill/filetest.php
Output:
bash: */2: No such file or directory
Seems like you are executing the crontab directive.
Execute
crontab -e
to edit your cron jobs. Then add this line at end of the file
*/2 * * * * /usr/bin/php /opt/lampp/htdocs/kyrill/filetest.php
try
0/2 * * * * curl http://[your_id:port]/kyrill/filetest.php
I want a script file to run once every minute.. I've written this command.
* * * * * php -q /home/<username>/public_html/cron.php
But, this cronjob is not working. whenever, I try to open this file cron.php in browser, it works fine.
I'm using Linux OS. Is there a way to debug it in order to come to know the error?
If you're using Ubuntu as I am, use the full path.
* * * * * /usr/bin/php -q /home/<username>/public_html/cron.php
Have you added an empty line (new line) after your cronjob?
To debug:
Append 2>&1 to the end of your Crontab command. This will redirect the stderr output to the stdout. Then ensure you're logging the crontab's Unix command.
* * * * * php -q /home/<username>/public_html/cron.php; ls -la >>/var/log/cronrun 2>&1
This will capture anything from the Unix command.
A couple of additional hints: Write out the environment variables by issuing the command set with no parameters. And get the shell to echo each command with the set -x command. At the top of your script issue;
set
set -x
For cPanel, you may want to test curl (in case it's installed on your server):
curl --silent --compressed http://www.your-domain.com/cron.php
So it should look similar to: http://grabilla.com/0450d-93d93a32-02ab-457c-ac1c-d2883552a940.html#
You may also want to try removing the -q from your command and see if it helps.
* * * * * php /home/<username>/public_html/cron.php
*/1 * * * * /usr/bin/php -q /home//public_html/cron.php
Add the above line to the crontab file and run it . It will add a cronjob every minute
I have the following script in php :
<?php
ini_set('log_errors', true);
ini_set('error_log', __DIR__ . '/cron.html');
error_log("I'm working");
?>
When I execute this script manually by visiting the URL on the browser it works fine and it creates a new file "cron.html" with this content :
[02-Jan-2014 10:25:39 Europe/Berlin] I'm working
But once I try to executed it via Cron it doesn't work. And to see if I have problem with path I told the command on cron to create me a log file.
*/1 * * * * wget -O - -q 'http://www.mywebsite.com/cron.php' > /PATH-TO-FOLDER/crobtab.log
The file crobtab.log is created every single time, but the script is not working at all.
Could this be a problem with the server ? Safe Mode ? Any idea Please ?
I think you should use absolute paths in crontab.
Try this
*/1 * * * * /usr/bin/wget -q -O /PATH-TO-FOLDER/crobtab.log http://www.mywebsite.com/cron.php
or this
*/1 * * * * /usr/bin/curl -o /PATH-TO-FOLDER/crobtab.log http://www.mywebsite.com/cron.php
I have a file in mysite.com/url1/url2/cronjob.php which has to be run every minute. I try every combination, but can't succeed. What should I run in command line? Thank you.
In case you'd set it up in a crontab, this works:
*/1 * * * * /usr/bin/wget -O /dev/null http://example.com/cron.php
Steps your shell
$ crontab -e
* * * * * php -f /path/to/cron.php
~
~
I got confused for the first time where to add all of these and finally found.
Type the following in the linux/ubuntu terminal
crontab -e
select an editor (sometime it asks for the editor) and this to run for every minute
* * * * * /usr/bin/php path/to/cron.php &> /dev/null
The PHP interpreter.
/[path-to-php]/php -f [your-php-script]
Are you looking for help to make an UNIX cronjob?
If so, have you tried to edit /etc/crontab, and add
\1 * * * * user command
where user is either root or your name. Im not exactly sure how to access and URL, but a dirty way could involve downloading the link as a file, e.g. "wget http://url.com/page.php"