Cronjob voorbeeld vraagje
Ik heb me hierin een beetje verdiept, en heb de volgende aangemaakt.
Maar dit werkt niet, het geeft geen fout maar doet niet wat er gevraagd wordt. Iemand een ideetje?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
include('config.php');
mysql_query("UPDATE members SET geld = geld + 1000");
mysql_query("OPTIMIZE TABLE members");
?>
include('config.php');
mysql_query("UPDATE members SET geld = geld + 1000");
mysql_query("OPTIMIZE TABLE members");
?>
Als dit alles is wat je laat uitvoeren in je script die je via een cronjob of taakplanner laat lopen dan zal het niet werken. Ik zie namelijk geen functie die de connectie tot de database tot stand brengt.
Die functie zit waarschijnlijk in het config.php bestand.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$host = "*";
$user = "**";
$pass = "*";
$db = "*";
mysql_connect($host,$user,$pass) or die("Er kon geen verbinding worden gemaakt.");
mysql_select_db($db);
mysql_query("UPDATE members SET geld = geld + 1000");
mysql_query("OPTIMIZE TABLE members");
?>
$host = "*";
$user = "**";
$pass = "*";
$db = "*";
mysql_connect($host,$user,$pass) or die("Er kon geen verbinding worden gemaakt.");
mysql_select_db($db);
mysql_query("UPDATE members SET geld = geld + 1000");
mysql_query("OPTIMIZE TABLE members");
?>
En als ik het zo doe?
en als je het zonder cronjob uitvoerd?
dan zie ik een leeg scherm:)
Dit script heb ik nu
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
include('config.php');
mysql_query("UPDATE members SET geld = 1000");
mysql_query("OPTIMIZE TABLE members");
?>
include('config.php');
mysql_query("UPDATE members SET geld = 1000");
mysql_query("OPTIMIZE TABLE members");
?>
Maar als ik geld = geld + 1000 doe dan werkt hij niet...
Iemand hier een goed antwoord op?
gebruik eens
mysql_query("") or die(mysql_error());
achter je query's
Gebruik dit om te controleren of de cronjob alleen door de server word aangeroepen.
Erg belangrijk om te zorgen dat het bestand niet extern kan worden aangeroepen. ( Maar zorg natuurlijk wel eerst voor dat je Query goed werkt zodat je hem niet meer hoeft te testen ;) )
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])
{
// Hier je script
}
?>
if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])
{
// Hier je script
}
?>
thijs schreef op 25.04.2007 17:39:
TIP!
Gebruik dit om te controleren of de cronjob alleen door de server word aangeroepen.
Erg belangrijk om te zorgen dat het bestand niet extern kan worden aangeroepen. ( Maar zorg natuurlijk wel eerst voor dat je Query goed werkt zodat je hem niet meer hoeft te testen ;) )
Gebruik dit om te controleren of de cronjob alleen door de server word aangeroepen.
Erg belangrijk om te zorgen dat het bestand niet extern kan worden aangeroepen. ( Maar zorg natuurlijk wel eerst voor dat je Query goed werkt zodat je hem niet meer hoeft te testen ;) )
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])
{
// Hier je script
}
?>
if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])
{
// Hier je script
}
?>
Als hem oproep dan werkt het gewoon, zet ik hem in een cronjob, dan doet hij het niet meer.
Dus dat is mijn probleem ik weet niet hoe het kan.
Quote:
Edit: Goede tip !
Gewijzigd op 01/01/1970 01:00:00 door Jesse
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$host = "*";
$user = "**";
$pass = "*";
$db = "*";
mysql_connect($host,$user,$pass) or die("Er kon geen verbinding worden gemaakt.");
mysql_select_db($db);
mysql_query("UPDATE members SET geld = geld + '1000'");
mysql_query("OPTIMIZE TABLE members");
?>
$host = "*";
$user = "**";
$pass = "*";
$db = "*";
mysql_connect($host,$user,$pass) or die("Er kon geen verbinding worden gemaakt.");
mysql_select_db($db);
mysql_query("UPDATE members SET geld = geld + '1000'");
mysql_query("OPTIMIZE TABLE members");
?>
probeer dat eens?
Als je script wel goed werkt wanneer je hem gewoon zelf aanroept dan ligt het probleem in je cronjob zelf. Verwijst die cronjob wel naar het goede bestand het goeie path?
Nee nog niet...
thijs schreef op 25.04.2007 17:50:
@ Jesse,
Als je script wel goed werkt wanneer je hem gewoon zelf aanroept dan ligt het probleem in je cronjob zelf. Verwijst die cronjob wel naar het goede bestand het goeie path?
Als je script wel goed werkt wanneer je hem gewoon zelf aanroept dan ligt het probleem in je cronjob zelf. Verwijst die cronjob wel naar het goede bestand het goeie path?
Ja volgens mij wel , maar ik zal het nog even controleren.
Ik heb nu dit in de cronjob staan,
* * * * * /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
27 17 25 4 * /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
50 17 * * * /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
Gewijzigd op 01/01/1970 01:00:00 door Jesse
/usr/local/bin/php -q /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
en aan dit te zien * * * * * wil je dat de cron ELKE minuut uitgevoerd word ik denk niet dat dit de bedoeling is
Niels schreef op 26.04.2007 07:47:
dit moet voor je /home/
/usr/local/bin/php -q /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
en aan dit te zien * * * * * wil je dat de cron ELKE minuut uitgevoerd word ik denk niet dat dit de bedoeling is
/usr/local/bin/php -q /home/jesseweika/domains/onlinecyclingmanager.nl/public_html/cronjob/geld.php
en aan dit te zien * * * * * wil je dat de cron ELKE minuut uitgevoerd word ik denk niet dat dit de bedoeling is
Maar is dit bij elke server zo dan?
En ja ik wilde het elke minuut om te testen of het werkte...