Hallo allemaal,
Voor een zelfgescript systeem wil ik graag een cronjob aanmaken. Deze cronjob heeft als functie het veranderen van de status naar 0 of 1 (random).
Dit is de code die ik gebruik:
Dit werkt eigenlijk allemaal prima, alleen krijg ik op Servage.net de cronjob niet goed ingesteld. Klopt het dat je daar alleen maar 1 maal per dag op een bepaald tijdstip een cronjob kunt uitvoeren? Ik zie namelijk geen andere functies staan...PHP Code:
<?php
include("config.php");
mysql_query("UPDATE gebruikers SET status=0");
mysql_query("UPDATE gebruikers SET status=1 ORDER BY RAND() LIMIT 20");
?>
Dus nou is mijn vraag of ik vanaf een andere host mijn cronjob voor de betreffende site kan uitvoeren, of is dit niet mogelijk?
Alvast heel erg bedankt voor de hulp,
Gr. Jos
- [PHP] Cronjob
-
15-12-2010, 17:40 #1
- Berichten
- 943
- Lid sinds
- 15 Jaar
[PHP] Cronjob
-
-
15-12-2010, 17:54 #2
- Berichten
- 492
- Lid sinds
- 16 Jaar
Re: [PHP] Cronjob
Door bij een andere host deze command te doen.
wget -O /dev/null -q http://www.domein.nl/file.php
-
15-12-2010, 20:31 #3
- Berichten
- 26
- Lid sinds
- 16 Jaar
Re: [PHP] Cronjob
Dat klopt niet, tenzij de hoster allerlei restricties heeft geconfigureerd.
ter info: http://www.attackr.com/crontab-the-s...sense-version/
-
15-12-2010, 20:33 #4
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
Re: [PHP] Cronjob
Dat klopt niet, tenzij de hoster allerlei restricties heeft geconfigureerd.
ter info: http://www.attackr.com/crontab-the-s...sense-version/
-
16-12-2010, 16:11 #5
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: [PHP] Cronjob
In ieder geval bedankt voor alle reacties!
-
16-12-2010, 17:05 #6
- Berichten
- 442
- Lid sinds
- 16 Jaar
Re: [PHP] Cronjob
Deze zou moet je invullen in het crontab van de andere hoster. Het is wel aan te raden een IP of wachtwoord restrictie op het bestand te zetten aangezien iedereen het bestand zou kunnen openen.
-
16-12-2010, 17:29 #7
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Cronjob
Welke opties heb je om de tijd in te stellen voor de cronjob? Je hebt een aantal velden (dag vd week, dag vd maand, maand, uur, minuut) die je kunt instellen en combineren. Je kunt ook */10 invullen bij het uur en de rest een * dan wordt elk 10e uur de cron gestart.
Lees dit eens door:
http://www.cronjob.nl/
Maak eens een screenshot van je crontab in het admin panel van servage.
Indien je het echt niet gaat, kun je altijd een 2e host nemen zoals je zegt en dan daarop een PHP script aanmaken dat een cURL request (met een key als $_POST waarde die je controleert of het wel van die 2e host afkomt) naar sturen naar de file op jouw hosting die vervolgens je scriptje uitvoert. Ook natuurlijk niet vergeten in de nieuwe cronjob een beveiliging te maken dat je cron wordt aangeroepen met een $_GET parameter om ook hier misbruik te voorkomen (of je zou de cron al buiten de public_html moeten plaatsen)
-
16-12-2010, 20:23 #8
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: [PHP] Cronjob
Welke opties heb je om de tijd in te stellen voor de cronjob? Je hebt een aantal velden (dag vd week, dag vd maand, maand, uur, minuut) die je kunt instellen en combineren. Je kunt ook */10 invullen bij het uur en de rest een * dan wordt elk 10e uur de cron gestart.
Lees dit eens door:
http://www.cronjob.nl/
Maak eens een screenshot van je crontab in het admin panel van servage.
Indien je het echt niet gaat, kun je altijd een 2e host nemen zoals je zegt en dan daarop een PHP script aanmaken dat een cURL request (met een key als $_POST waarde die je controleert of het wel van die 2e host afkomt) naar sturen naar de file op jouw hosting die vervolgens je scriptje uitvoert. Ook natuurlijk niet vergeten in de nieuwe cronjob een beveiliging te maken dat je cron wordt aangeroepen met een $_GET parameter om ook hier misbruik te voorkomen (of je zou de cron al buiten de public_html moeten plaatsen)
http://i51.tinypic.com/350l9o7.png
Hoop dat jullie er iets mee kunnen, want het is wel een beetje vervelend als een cronjob niet om het uur o.i.d gedraaid kan worden.
-
16-12-2010, 21:15 #9
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Cronjob
Dat is hopeloos dus eigenlijk haha. Met zo'n cronjobs kun je alleen wat basic dingen uitvoeren.
Als je wilt kan ik je op één van mijn hostings een cronjob configureren die op een aantal momenten een script bij jou aanroept via cURL. Dit houdt in dat ik een formulier simuleer ($_POST waardes) naar jouw pagina, bijvoorbeeld www.Host1.nl/curl/random.php tijdens het oproepen van deze pagina stuur ik een waarde mee 'key', deze waarde kun jij opvangen als:
PHP Code:if($_POST['key'] == "randomstring") {
include("config.php");
//SQL queries hier
} else {
die("Je mag dit bestand niet zomaar aanroepen");
}
Indien je zelf een hosting hebt met directadmin kun je dit ook zelf maken, hier kan ik je wel bij helpen.
-
16-12-2010, 21:35 #10
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: [PHP] Cronjob
Ik heb zelf ook nog een host, zou je me dan misschien kunnen helpen hoe ik dat het beste kan doen? Die manier van de post hierboven lijkt me wel een handige!
-
17-12-2010, 10:39 #11
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Cronjob
Op je 2e host plaats je dit script:
PHP Code:<?php
/**
* cURL Settings
* Vul hier het wachtwoord in dat je in random.php hebt geplaatst
*/
$cronKey = "mijnkey";
/**
* Controleer of het wachtwoord van de cronjob is meegestuurd
*/
if($_GET['pass'] == "cronpass") {
/**
* Plaats hier de URL naar je script dat de random query uitvoert
*/
$ch = curl_init("http://www.host1.nl/curl/random.php");
/**
* cURL opties instellen
* Instellen dat we met een $_POST request de URL aanroepen
*/
curl_setopt($ch, CURLOPT_POST, true);
/**
* cURL opties instellen
* Instellen dat de response van de actie in een variabel komt
* zoda de cronjob geen output (en dus geen errors) veroorzaakt
*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
/**
* cURL opties instellen
* Welke post waarde aan we meesturen?
*/
curl_setopt($ch, CURLOPT_POSTFIELDS, "cronKey=" .$cronKey);
/**
* cURL actie uitvoeren
*/
curl_exec($ch);
}
In je cronscherm van je tweede host plaats je nu een cronjob naar /path/naar/file.php?pass=cronpass uiteraard even het cronpass aanpassen naar wat je wilt.
De file op je eerste host, die dus de actie uit moet voeren ziet er dan zo uit:
PHP Code:<?php
if($_POST['cronKey'] == "mijnkey") {
include("path/naar/config.php");
mysql_query("UPDATE gebruikers SET status=0");
mysql_query("UPDATE gebruikers SET status=1 ORDER BY RAND() LIMIT 20");
}
?>
-
17-12-2010, 17:29 #12
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: [PHP] Cronjob
Hartstikke bedankt Joshua, ik hoop dat het me lukt!:)
-
17-12-2010, 20:15 #13
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Cronjob
Vast wel :)
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic