Ik kan niet anders dan Nightspirit gelijk geven, dit is inderdaad wel erg basaal. GoT is geen helpdesk waar we alles voor je voorkouwen, daar zijn ander forums voor. Maar goed, ik zal het voor een keer voor je uitleggen, zodat jij je handpalm richting voorhoofd kunt bewegen. Niet te hard, want dat geeft hoofdpijn

Possible schreef op dinsdag 26 juli 2011 @ 17:48:
HMmm ik loop helaas nog steeds vast met het automatisch updaten van de spots.
Bij de inleiding wordt het volgende gemeld om te doen:
*/30 * * * * root cd /path/to/spotweb && /usr/bin/php retrieve.php > /dev/null
Als ik het zoek op Spotweb binnen de terminal zie ik het volgende staan:
code:
1
2
3
4
| /etc/apache2/spotweb-spotweb-7e993b2
/etc/apache2/spotweb-spotweb-7e993b2/spotweb
/var/www/spotweb
/var/lib/mysql/spotweb |
Welke moet ik nu precies pakken? Ik heb nu de volgende line toegevoegd:
code:
1
| */30 * * * * root cd /var/www/spotweb && /var/www/spotweb/retrieve.php > /dev/n$ |
En dan de 2e vraag: moet ik retrieve.php uit een van de spotweb mappen halen en verplaatsen naar && /usr/bin/php retrieve.php ?? Aangezien ik geen retrieve.php in /user/bin/php heb staan.
*/30 * * * * root cd /path/to/spotweb && /usr/bin/php retrieve.php > /dev/null
• */30 * * * * = wanneer het commando uitgevoerd moet worden
• root = de user onder wie het commando uitgevoerd wordt
• cd /path/to/spotweb && /usr/bin/php retrieve.php > /dev/null = De commando's die worden uitgevoerd.
• cd /path/to/spotweb = change dir naar /path/to/spotweb
• && = indien de cd /path/to/spotweb succesvol is uitgevoerd, dan ook het commando na de && uitvoeren
• /usr/bin/php retrieve.php = het commando wat uitgevoerd wordt
• > /dev/null = gooi alle output in het putje
• /usr/bin/ is de locatie waar de php executable staat
• retrieve.php is het script wat door php uitgevoerd moet worden
'/usr/bin/php retrieve.php' is dus het commando (php) met een parameter (retrieve.php). Het is niet zo dat 'php retrieve.php' een script file is in '/usr/bin' die toevallig een spatie in zijn filename heeft.
Dus nu voorzichting de palm van de vlakke hand richting voorhoofd...
Voer even het volgende commando uit op de command line om te achterhalen waar jouw php executable staat:
Er vanuitgaande dat jouw dit commando '/usr/bin/php' teruggeeft wordt jouw cron regel dus:
code:
1
| */30 * * * * root cd /var/www/spotweb && /usr/bin/php retrieve.php > /dev/null |
Er zijn verschillende mogelijkheden om deze regel door cron uit te laten voeren, ik heb gewoon de file 'spotweb' aangemaakt in '/etc/cron.d/' die enkel deze regel bevat.
Antwoord op vraag 2: Nee, die moet juist blijven staan omdat anders de path verwijzingen in retrieve.php naar de andere benodigde files niet meer kloppen. Dat is ook de reden van de 'cd /var/www/spotweb'.