Cronjobs
Ik heb nog geen verstand van cronjobs, maar wil weten hoe ze werken, kan iemand mij dit uitleggen of weet iemand iets waar het uitgelegd staat?
Ja dat weet ik wel, maar hoe maak je zelf een cronjob, het script bedoel ik dan, want een cronjob aanmaken is niet moeilijk maar het script zelf bedoel ik dan waar ik problemen mee heb.
Zoiets?
Ja, maar dan zonder haken en backtics.
edit ik zou dit trouwens ook wel willen weten :) hij bedoelt waarschijnlijk hoe je dat dus elke dag kan laten uitvoeren :P
Kun je dan bijvoorbeeld ook dit doen:
Je kan natuurlijk testen of dit script werkt door het gewoon in de browser aan te roepen. Ja, dit soort dingen zijn mogelijk. Ik stuur zelf altijd een mailtje naar mijzelf zodat ik elke keer goed op de hoogte wordt gehouden van de juiste werking. Je kan wanneer je dit zat bent ook een mailtje sturen wanneer het juist fout is gegaan.
Dan maak je de laatste toch ook een *.
0 12 * * * /pad/naar/script.php
En meestal zijn .php files niet executable en dan doe je het zo:
0 12 * * * /pad/naar/php/php -f /pad/naar/script/script.php
Ik zouw wel om de dag automatish backups willen gaan maken :l. En als je hosting dit nouw niet aanbeid? en wat voor een extensie moet je je crontab bestand geven? (of wat voor naam?)
Dus je naam en/of extentie maken niet uit... maakt niet uit eh, je voert uit wat je wil...:)
Maar dat is dus altijd wat er maar ook in staat? .Cron ? Ok.
Handel dit gewoon af in je applicatie / database, ik zie van die vieze criminals-code. Het gaat er om dat de data actueel is op het moment dat je het nodig hebt...controleer dus gewoon wanneer er voor het laatst een update is geweest en werk de gegevens in 1 keer bij wanneer dat nodig is. Dingen als "elke dag +3000 geld erbij" zijn juist zaken welke je NIET met cronjobs hoort te doen, het kan natuurlijk wel, maar het is niet de juiste methode.
Vaak heeft een hoster een speciale beheer pagina voor jou website waar je je statistieken kan zien, je mail kan instellen maar ook waar je periodieke taken kan instellen. Je geeft dan een bestand op dat hij eens in een aangegeven periode moet aanroepen zodat je bijvoorbeeld een backup kan maken, of een spel kan opwaarderen etc.
Crispijn schreef op 19.04.2007 17:56:
Vaak heeft een hoster een speciale beheer pagina voor jou website waar je je statistieken kan zien, je mail kan instellen maar ook waar je periodieke taken kan instellen. Je geeft dan een bestand op dat hij eens in een aangegeven periode moet aanroepen zodat je bijvoorbeeld een backup kan maken, of een spel kan opwaarderen etc.
Ja dat weet ik wel, maar hoe maak je zelf een cronjob, het script bedoel ik dan, want een cronjob aanmaken is niet moeilijk maar het script zelf bedoel ik dan waar ik problemen mee heb.
Dat ligt er maar net aan wat je periodiek wil uitvoeren! Wat zijn je plannen? Dan kunnen we er eens naar kijken!
elke dag + 3000 geld bijv ?
Gewijzigd op 01/01/1970 01:00:00 door Jesse
edit ik zou dit trouwens ook wel willen weten :)
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
crontab
cronjobs hebben deze vorm
1 2 3 4 5
* * * * * /pad/naar/script
waarbij, van links naar rechts:
* 1 = minuten
* 2 = uren
* 3 = dagen
* 4 = maanden
* 5 = dagen van de week
(uit mijn hoofd). Je kan ook variaties maken, maar die vind je vanzelf wel.
Google: cronjobs hebben deze vorm
1 2 3 4 5
* * * * * /pad/naar/script
waarbij, van links naar rechts:
* 1 = minuten
* 2 = uren
* 3 = dagen
* 4 = maanden
* 5 = dagen van de week
(uit mijn hoofd). Je kan ook variaties maken, maar die vind je vanzelf wel.
Edit:
Iedere dag, om 12 uur 's middags uitvoeren:
0 12 * * 0-6 /pad/naar/script.php
0 12 * * 0-6 /pad/naar/script.php
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
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
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
<?
$select="SELECT * FROM members";
$query = mysql_query($select)or die ("Fout melding in query");
while ($list = mysql_fetch_object($query)) {
$query = mysql_query("SELECT * FROM sponsors WHERE memberid = '$list->memberid'");
$sponsors = 0;
while($list = mysql_fetch_assoc($query)){
$sponsors += $list['sponsor'];
}
$query2 = mysql_query("SELECT * FROM competitie_spelers2 WHERE memberid = '$list->memberid'");
$salaris = 0;
while($list2 = mysql_fetch_assoc($query2)){
$salaris += $list2['salaris'];
}
$query3 = mysql_query ("UPDATE members SET `geld` = `geld` - '$salaris' WHERE memberid = '$list->memberid'");
$query4 = mysql_query ("UPDATE members SET `geld` = `geld` + '$sponsors' WHERE memberid = '$list->memberid'");
$query5 = mysql_query ("UPDATE members SET `geld` = `geld` + 3000 WHERE memberid = '$list->memberid'");
mysql_query($query3) or die(mysql_error());
mysql_query($query4) or die(mysql_error());
mysql_query($query5) or die(mysql_error());
echo "Gesimuleerd<br>";
}
?>
$select="SELECT * FROM members";
$query = mysql_query($select)or die ("Fout melding in query");
while ($list = mysql_fetch_object($query)) {
$query = mysql_query("SELECT * FROM sponsors WHERE memberid = '$list->memberid'");
$sponsors = 0;
while($list = mysql_fetch_assoc($query)){
$sponsors += $list['sponsor'];
}
$query2 = mysql_query("SELECT * FROM competitie_spelers2 WHERE memberid = '$list->memberid'");
$salaris = 0;
while($list2 = mysql_fetch_assoc($query2)){
$salaris += $list2['salaris'];
}
$query3 = mysql_query ("UPDATE members SET `geld` = `geld` - '$salaris' WHERE memberid = '$list->memberid'");
$query4 = mysql_query ("UPDATE members SET `geld` = `geld` + '$sponsors' WHERE memberid = '$list->memberid'");
$query5 = mysql_query ("UPDATE members SET `geld` = `geld` + 3000 WHERE memberid = '$list->memberid'");
mysql_query($query3) or die(mysql_error());
mysql_query($query4) or die(mysql_error());
mysql_query($query5) or die(mysql_error());
echo "Gesimuleerd<br>";
}
?>
Je kan natuurlijk testen of dit script werkt door het gewoon in de browser aan te roepen.
ja.. alleen dingen outputten heeft geen zin ;)
Kasper schreef op 19.04.2007 20:32:
Iedere dag, om 12 uur 's middags uitvoeren:
0 12 * * 0-6 /pad/naar/script.php
0 12 * * 0-6 /pad/naar/script.php
Dan maak je de laatste toch ook een *.
0 12 * * * /pad/naar/script.php
En meestal zijn .php files niet executable en dan doe je het zo:
0 12 * * * /pad/naar/php/php -f /pad/naar/script/script.php
Ik zouw wel om de dag automatish backups willen gaan maken :l.
Dus je naam en/of extentie maken niet uit...
Moet ik bij elk bestand die ik oproep via cronjob de haken en backtics weglaten?
Die haken en backtics horen niet in een query.
Quote:
Ja, dat kan ook, maar ik wist niet zeker of dat hij dan iedere 12 uur het script aanroept (dus twee keer per etmaal) of maar één keer per dag.Dan maak je de laatste toch ook een *.
0 12 * * * /pad/naar/script.php
0 12 * * * /pad/naar/script.php
Quote:
Klopt. die is beter.En meestal zijn .php files niet executable en dan doe je het zo:
0 12 * * * /pad/naar/php/php -f /pad/naar/script/script.php
0 12 * * * /pad/naar/php/php -f /pad/naar/script/script.php
Quote:
Op internet zijn sites te vinden waar je ook cronjobs kan instellen. Die roepen dan gewoon extern jouw pagina('s) op.En als je hosting dit nou niet aanbiedt?
Quote:
Crontabs hebben de extensie *.cron, maar dat hoef je eigenlijk nooit zelf in te stellen. Je maakt die cron aan in een CMS of, in het moeilijke geval, roep je de crontab editor aan (crontab -e) via SSH.en wat voor een extensie moet je je crontab bestand geven?
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
Maar dat is dus altijd wat er maar ook in staat?
Handel dit gewoon af in je applicatie / database, ik zie van die vieze criminals-code. Het gaat er om dat de data actueel is op het moment dat je het nodig hebt...controleer dus gewoon wanneer er voor het laatst een update is geweest en werk de gegevens in 1 keer bij wanneer dat nodig is.