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?
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.
Heb je al gekeken of ze dezelfde php.ini gebruiken? (je commandline en website)
Het kan zijn dat ik je verkeerd begrijp, maar verbeter mij dan. Wanneer ik in putty dit uitvoer: 'php /home/arjan/cronjobs/load2db/execute.php', dan werkt MySQL gewoon prima. Maar als ik het in de cron zet, dan geeft hij een foutmelding dat hij MySQL niet wil pakken. Nogmaals, zeg me als ik jullie verkeerd begrijp. Waar kan ik trouwens de instellingen van CLI zien dat ik kan zien welke php.ini hij pakt?
Ik heb 2 php.ini's gevonden op de server, één zit in /etc/php.ini en de andere in /usr/local/lib/php.ini (deze wordt door de websites gebruikt, heb ik laatst ioncube nog in gezet). Waar dient die in /etc/php.ini dan voor? Is die voor de cronjobs? Ik kan namelijk geen verschil ontdekken bij het MySQL gedeelte in de file.
[quote='Arjan Schuurman schreef op 08.02.2009 22:37']Ik zal eens proberen, trouwens, kun jij me uitleggen hoe je aan die informatie met die commands komt?
Welke informatie bedoel je? Ik snap je even niet.[/quote]
in zon crontab commando, met f en > en dat soort..
Op je ssh shell:
which php => geeft het complete path.
man php => geeft het manual van php en daar vind je de parameters (-f en andere).
In de directory waar je script staat:
pwd => geeft het path naar je script.
Verdere tekens:
echo 'bla' > bestand.txt => maakt een bestand aan en stopt de output van de echo er in.
echo 'bla' >> bestand.txt => voegt aan het eind van een bestand de ouput van de echo toe.
2>&1 => zorgt dat de errors naar de standaard output worden geschreven. De standaard output in jouw cronjob commando is in dit geval het bestandje.
Dit is basic Linux kennis. Overal op Internet te vinden. Ook op een Linux machine zelf is heel veel info te vinden.