Zojuist was ik bezig met het opzetten van een crontab voor de user arjan, alleen krijg ik deze niet werkend. Als ik als arjan op ssh ben ingelogd en ik voer exact dezelfde commando uit, dan pakt hij hem wel en doet precies wat ik wil. Wat doe ik fout? Niet schrikken dat hij op elke minuut staat, maar ik wil hem eerst gewoon werkend hebben. Straks gaat wil ik hem hebben dat hij per 15 minuten dit doet, hoe moet ik dat instellen?

Cronjob: * * * * * /home/arjan/cronjobs/load2db/execute.sh
==execute.sh (Owner: arjan, Chmod: 0700)==
php /home/arjan/cronjobs/load2db/execute.php

execute.php heeft dezelfde chmod en owner rechten, daar loopt tevens een MySQL verbinding door. Nogmaals, dit werkt via SSH wel (dus via Putty), maar wanneer ik dit bijdezelfde user in de crontab instel werkt hij niet. Hopelijk kunnen jullie mij uit de brand helpen.
Oké bedankt voor de uitleg Santhe!

Helaas blijf ik dezelfde fout houden:

PHP Fatal error: Call to undefined function mysql_connect() in /home/arjan/cronjobs/test.php on line 2
Ik vind het zeer vreemd en ik heb helaas geen enkel idee waar je dat zou moeten zoeken.

Edit: En wat geeft ie voor error als je de mysql_connect() even uitcomment?
Ok, raar, ik blijf het erg raar vinden dat hij op ssh commando wel wil werken, maar zodra ik er een cronjob van maak, dat hij er dan mee stopt :/. Iig bedankt voor je hulp SanThe ;), misschien dat iemand anders hier nog een idee heeft..
Graag gedaan. Echter ik ben ook wel nieuwsgierig naar de oplossing. Heb je mijn edit nog uitgeprobeerd? Waarschijnlijk geeft dat dan de volgende mysql-error, maar ach.
Ik zal eens kijken wat hij dan doet, moment.

Edit:

Leuk he zo'n error:

PHP Fatal error: Call to undefined function mysql_select_db() in /home/admin/cronjobs/test.php on line 3

Lijkt wel alsof hele mysql-extensie niet bij de crontab geladen wordt :S

Edit 2:

Misschien hebben we hier nog wat aan, er wordt in de php.ini geen mysql extension geladen, maar toch kan je mysql wel op de site gebruiken.
Bump, nog steeds de problemen, iedereen die ik heb gesproken weet de oplossing niet, ik hoop dat één van jullie het alsnog weet..
Misschien hebben we hier nog wat aan, er wordt in de php.ini geen mysql extension geladen, maar toch kan je mysql wel op de site gebruiken.
Welke php.ini gebruikt de site dan? Dat kan je opvragen via phpinfo().

Verder lijkt het me stug, maar wellicht is er sprake van een rechtenprobleem? Heb je een mogelijkheid om het eens met root-rechten te testen in crontab?

de php executable die gebruikt wordt voor CLI hoeft niet per se dezelfde versie (zelfs niet qua versienummer) te zijn als die voor Apache gebruikt wordt.

Mogelijk is bij het compilen van de CLI versie geen mysql enabled?
In de site: /usr/local/lib/php.ini
Van CLI kan ik niet zien gezien ik in putty niet heel ver naar boven kan scrollen. Maar het gekke is dat als ik hem handmatig uitvoer via putty, dat hij dan wel werkt..
Ja, maar dan voer je zeker gewoon 'php file.php' uit? Dus niet complete path.

Gewoon als tip: Voor cronjobs ALTIJD het complete path naar de applicatie opgeven. Scheelt vaak een hoop gepieker :)

Het is al weer even geleden dat ik cronjobs heb uitgevoerd, maar kan je niet gewoon naar de zelfde PHP verwijzen als Apache doet? (Je kan het path vinden in de Apache config als het goed is)

Reageren