Sorry, weer een CronJob vraag. ;p
D.m.v. de zoekfunctie heb ik vele topics gelezen waar alleen maar werd gezeurt over nodig ja/nee dan er antwoord werd gegeven. Ik heb ook een vraag, en zie die graag beantwoord. Ik weet zeker dat ik op CronJobs wil draaien, heb toch 100GB p/m.
Ik draai hem via Putty.exe en via de wget optie. Deze voert wanneer ik een test.php erin gooi voor een email elke minuut het gewoon uit en ontvang ik de mail. Nu wil ik me _cron_hour script erop gaan draaien maar die pakt hij niet. Idd ook weeeeer een maffia game, maar ik ben niet echt van plan hem voor publiek online te zetten, alleen om wat te kunnen knutselen om weer meer van SQL & php te leren etc. Nu begin ik dus aan CronJob cursusje maar kom er niet uit. Moet ik in mijn _config.php nog een verwijzing maken naar deze CronJobs om ervoor te zorgen dat hij de gegevens uit _cron_hour.php ook echt in de database uitvoert?
Mvg,
Lars.
Leuk en aardig, maar het gaat erom of het wel nodig is, het kost allemaal serverload, en als je steeds een zware controle doet op iets wat toch 'weinig' teruggeeft...
maar als je het echt zo graag wilt. Test het script eerst een publiekelijk uitwat je wilt draaien, misschien dat die ermee stopt vanwege een error.
De cronjobs werken prima, dat kan je snel concluderen als een simpel mailscript gewoon al werkt.
Het mailscript doet keurig zijn werk in CronJobs. _cron_hour.php normaal gesproken ook en werkt dan bij na 2x refreshen na aanmelding. Alleen in CronJob wil hij niet werken, vandaar mijn vraag of ik die niet via de config in werking moet zetten zoals dat ook moet bij gewone crons.
Cronjob instellen is namelijk niet zo moeilijk.
Voorderest heb ik nog maar even niets gedaan in de cron scripts en config om te kijken of dat wat uitmaakte, maar helaas doet ie nog steeds niets. De orginele crons staan dus weer op de site zoals ze normaal pas worden geactiveerd wanneer ik inlog.
En hoe run je _cron_hour.php dan? En wat gebeurt er als je dat doet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php /* ------------------------- */
if(!(@mysql_pconnect("localhost","dit","klopt") && @mysql_select_db("gewoon"))) {
print <<<ENDHTML
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+40 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
if(!(@mysql_pconnect("localhost","dit","klopt") && @mysql_select_db("gewoon"))) {
print <<<ENDHTML
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+40 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
Dit is mijn cron hour. Als het goed is hoort die dus via putty.exe ingesteld elke minuut uitgevoert te worden op de wget manier. Alleen doet hij dat niet, of maakt geen goede verbinding met de database?
print <<<ENDHTML staat daar totaal fout.[/b]
Ook moet je geen @ gebruiken voor een functie.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php /* ------------------------- */
if(!(mysql_pconnect("localhost","bla","blaa") && mysql_select_db("blaaa"))) {
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+40 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
if(!(mysql_pconnect("localhost","bla","blaa") && mysql_select_db("blaaa"))) {
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+40 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
Dan zou hij zo moeten kloppen? Hij voert 'm nog steeds niet uit en ik probeer echt van alles.;p
Zorg eerst dat het script fatsoenlijk werkt. De cron komt dan later wel.
Zonder CronJobs werkte hij via de config aangestuurd prima. Wanneer ik dan inlogte moest ik 1 a 2x refreshen en dan deed hij het. Met CronJob moet ik de instellingen dus anders zetten zodat hij het wel doet. Ik kom er alleen echt niet uit hoe wel, daarom vraag ik hier hulp.
$cron_pass wordt niet geset, en is dus altijd ongelijk aan die string.
Als je het volgende bovenaan je script zet:
en het script dan via de shell (putty) runt via:
wat is dan de output? (ik ga er nu trouwens vanuit dat php in je path staat, probeer anders /usr/bin/php)
ps: de haakjes zijn niet verplicht achter exit, maar wel zo netjes :p
Gewijzigd op 01/01/1970 01:00:00 door Rens nvt
Je logt in met SSH en dan run je dat script op de prompt. Als dat werkt dan stel je pas de cron in.
Code (php)
1
2
3
4
2
3
4
<?php
$tijd=time();
mail("[email protected]","uitgevoerd","De cronjob is uitgevoerd op:".$tijd);
?>
$tijd=time();
mail("[email protected]","uitgevoerd","De cronjob is uitgevoerd op:".$tijd);
?>
Dit script voert hij volgens de cron gewoon uit, alleen mijn _cron_hour.php dus niet. Mijn cron zin is dit:
* * * * * /usr/bin/gwet -O /dev/null -q http://purmission.nl/thegame/_cron_hour.php
Het rare is dat als ik de pagina laat, dus www.purmission.nl/thegame/_cron_hour.php hij het wel uitvoert wanneer ik dan ctrl + F5 druk. (Ik moet wel echt die ctrl F5 erbij doen, gewoon naar de pagina gaan werkt niet.) Het lijkt er dus op dat mijn cronjob hem niet wil pakken, maar hoe kan dat? Waarom pakt hij die email script wel en me cron hour niet, staat er een foute zin in ofzo?
Script nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php /* ------------------------- */
if(!(mysql_pconnect("localhost","blaa","blaa") && mysql_select_db("blaa")))
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+50 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
if(!(mysql_pconnect("localhost","blaa","blaa") && mysql_select_db("blaa")))
if($cron_pass != "secretcronpassword")
exit;
mysql_query("UPDATE `[users]` SET `cash`=`cash`+50 WHERE `activated`=1");
mysql_query("UPDATE `[users]` SET `bank`=`bank`+10 WHERE `type`=3 AND `activated`=1");
mysql_query("UPDATE `[clans]` SET `cash`=`cash`+200,`bank`=`bank`+200");
mysql_query("DELETE FROM `[logs]` WHERE `area`='click'");
mysql_query("DELETE FROM `[logs]` WHERE `area`='attack'");
mysql_query("UPDATE `[users]` SET `ocsdoen`='2'");
mysql_query("UPDATE `[users]` SET `landvlieg`='0'");
mysql_query("UPDATE `[users]` SET `bankmax`='500000'");
mysql_query("UPDATE `[users]` SET `energie`='10' WHERE `energie`<'0'");
mysql_query("UPDATE `[users]` SET `bankleft`='20'");
mysql_query("UPDATE `[users]` SET `jointtijd`='0'");
mysql_query("UPDATE `[users]` SET `beroofkansen`='10'");
mysql_query("UPDATE `[users]` SET `maffiamode`='0'");
mysql_query("DELETE FROM `[linkex]` WHERE `siteid`='1'");
mysql_query("OPTIMIZE TABLE `[clans]`");
mysql_query("OPTIMIZE TABLE `[logs]`");
mysql_query("OPTIMIZE TABLE `[temp]`");
mysql_query("OPTIMIZE TABLE `[users]`");
mysql_query("UPDATE `[users]` SET `IPs`=''");
mysql_query("UPDATE `[clans]` SET `IPs`=''");
$dbres = mysql_query("SELECT * FROM `[clans]` WHERE `money_lvl1` > 0");
while($clan = mysql_fetch_object($dbres)) {
if($clan->type == 1)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (50*$clan->money_lvl1) .",`bank`=`bank`+". (150*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 2)
mysql_query("UPDATE `[users]` SET `cash`=`cash`+". (100*$clan->money_lvl1) .",`bank`=`bank`+". (100*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
else if($clan->type == 3)
mysql_query("UPDATE `[users]` SET `bank`=`bank`+". (rand(150,300)*$clan->money_lvl1) ." WHERE `clan`='{$clan->name}'");
}
/* ------------------------- */ ?>
Ik heb cronpass er toch ingelaten aangezien hij anders een 'Parse error: syntax error, unexpected $end' error geeft en met niet.;p
Typ dit in op de console: /usr/bin/gwet -O /dev/null -q http://purmission.nl/thegame/_cron_hour.php
Wat gebeurt er dan?
Edit: En waar moet dit vandaan komen?
$cron_pass
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
(Ik zou sowieso niet voor een cronjob kiezen. Sla in je database een datum op en controleer bij iedere keer dat de pagina herladen wordt of die datum een uur geleden is, zo ja: voer dat script uit. Veel makkelijker...)
En das mis. wel makkelijker en beter voor je serverload etc, maar dan weet ik nog niets van crons.;p En ik wil ook nog database backups later er via laten lopen enz.
Is 't trouwens normaal dat dan iedereen 100x je cronhour script kan refreshen dat er dan geld bij komt?:p Dan kan iemand dat toch 300x doen?:p
Gewijzigd op 01/01/1970 01:00:00 door Lars
Ik ken gwet niet, dus ik google.
En wat krijg ik als antwoord?
Bedoelde u: man wget
Ik denk dat dat je probleem ook oplost.
Edit:
Lars schreef op 07.01.2009 16:12:
Is 't trouwens normaal dat dan iedereen 100x je cronhour script kan refreshen dat er dan geld bij komt?:p Dan kan iemand dat toch 300x doen?:p
Als iemand bij dat script kan dan kan dat inderdaad zo vaak men wil aangeroepen worden.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
http://purmission.nl/thegame/_cron_hour.php? Gaat volgens mij niet werken. Je moet met het absolute pad werken, bijv. /var/www/thegame/_cron_hour.php. Nog beter is het om het bestand buiten de WWW root te zetten, bijv. /var/thegame_crons/_cron_hour.php.
euhm, waarom gebruik je Mvg,
Lars.