Server een pagina laten opvragen??

Status
Niet open voor verdere reacties.

ginojo

Gebruiker
Lid geworden
7 sep 2010
Berichten
912
Hallo allemaal,

Na veel googlen heb ik besloten om het toch maar hier te vragen. (Volgens mij ben ik weer eens de enige in de hele wereld die dit wilt :o)
Mijn vraag:
- Ik wil dat mijn server constant pagina's opnieuw aanvraagd. Normaal doet de bezoekende computer dit natuurlijk, maar er is natuurlijk niet altijd een bezoeker.
Ik wil namelijk een script laten draaien op mijn server zoals dit:
PHP:
if ($time == "15:00:00") {
mail (....
Dat er naar al mijn emailadressen een email word gestuurd, maar dat zou betekenen dat er dan om precies 3 uur een bezoeker moet komen, is er een manier om mn server dit zelf te laten doen? ik heb geen windows server ofzow, maar een synology.. ;)

Ik hoop dat jullie het begrijpen, en hoop ook dat jullie me verder kunnen helpen,
Alvast bedankt,
Ginojo
 
Synology draaid linux. indien het puur tijd is en niets met de eigenlijk webservice van doen heeft kun je een cronjob instellen. in die job kun je elke 3 uur iets laten plaatsvinden.

Het is iets wat heel veel mensen willen, maar er is dus een interne oplossing voor
 
Ten eerste: Heeel erg bedankt voor je supersnelle antwoord... :)
Ten tweede: Dit is inderdaad precies wat ik nodig had!
Ten derde: Weet je misschien ook hoe ik deze aanmaak op een synology server?

Nogmaals bedankt,
Ginojo
 
Als je een shell hebt op die Synology, dan kun je die taak in de crontab zetten ..
 
Er staat in de /etc directory een filetje dat heet "crontab", die kun je aanpassen. Hoe bekend ben je met linux, inloggen met de shell op de synology etc?
 
uhmm, ik ben niet zo diep in die server gegaan... :o sorry, ik heb dus egt geen idee wat een shell is... ik denk dat het een soort scripthandler is, maar daar houd het bij op... :o

ginojo

EDIT: ik be daarmee helemaal niet bekend, ik weet dus ook iet hoe ik in die file moet komen... :( sorry.. :o
 
Laatst bewerkt:
"shell" .. zeg maar een soort van MsDos prompt zoals je die van vroeger gewend was :)
 
in je nas:

control panel -> network services -> terminal ; daar SSH aanvinken en toepassen
download http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
putty starten en de naam van je NAS ingeven, poort 22 kun je laten staan (connection type SSH) -> click open
je krijgt nu een zwart scherm met "login as:"
vul in: root
password: <jouw admin password>
cd /etc
cp crontab /volume1/downloads (opmerking: gebruik hier een directory die bestaat op je nas, music, photo en video bestaan altijd)
exit

ga nu naar de gekozen directory in je nas via windows explorer. er staat nu de file crontab in. download die naar je desktop en edit.

voeg een lijn toe die er zo uitziet:

00 00,03,06,09,12,15,18,21 * * * /locatie/van/jouw/scipt/uitvoeren.php

Ik stop even hier omdat je mogelijk de locatie van je script niet weet, maar je bent nu al heel eind :P
 
Laatst bewerkt:
ok, helaas ben ik op het moment niet in het netwerk van de server, dus kan ik dit niet doen, ik had alleen de port voor de synology ui geforward. Zodra ik thuis ben ga ik dit proberen... je hoort nog van me

BEDANKT ALVAST!!!
:D
 
alleen nog 1 vraagje, waar staan die cijfers voor in de command line?
 
Dat zijn tijden, maar jij moet zoiets hebben:
0 15 * * * php /locatie/van/jouw/scipt/uitvoeren.php

Die zorgt ervoor dat hij om 15.00 uur wordt getriggerd

Gebruik trouwens "crontab -e" om cronjobs aan te maken, ga niet gelijk het bestand in /etc/ bewerken.

Zie ook http://www.cronjob.nl/
 
00 (hele uur)
00,03 etc. Twaalf uur, drie uur, Zes uur, negen uur (elke drie uur dus)
De sterretjes zijn, elke dag, elke week

Thadin: synology draaid een verkleinde busybox. Die ondersteund crontab als commando niet,vanders zou ik het wel direct in ssh doen
 
Laatst bewerkt:
Hallo!

Ik ben weer thuis en ben er gelijk mee begonnen... :D
het is denk ik allemaal goed gelukt. ik heb nu devolgende code in de file 'crontab':
Code:
#minute	hour	mday	month	wday	who	command
00 00,03,06,09,12,15,18,21 * * * /volume1/web/proces/mail.php

Is dit dan correct?
En wat moet ik er nu mee doen?
En als ik het goed begrijp, wordt dit script om de 3 uur uitgevoerd?

Bedankt, Ginojo
 
dat is afhankelijk van een aantal dingen:

1) heb je de aangepaste file alweer geupload? ;)
2) heeft de php executie rechten?

Waarschijnlijk moet je de PHP executable ervoor aanroepen:

00 00,03,06,09,12,15,18,21 * * * php /volume1/web/proces/mail.php

De file terugzetten is het omgekeerde:

cp /volume1/<mijn dir>/crontab /etc/

vervolgens "exit" uit de SSH shell. mogelijk moet de nas gereboot worden voordat de file in werking treedt, maar ik weet dat niet zeker met busybox.
 
Laatst bewerkt:
ok, ik heb nu dus de file, teruggezet met de volgende tekst:
Code:
#minute	hour	mday	month	wday	who	command
00 00,03,06,09,12,15,18,21 * * * php /volume1/web/proces/mail.php

Ik zla dan straks mijn server rebooten, en dan moet ik als het goed is om 00:00 een email krijgen tog, of een andere tijd? of moet er nog iets gebeuren?

Ginojo
 
Als het goed is 00:00 ja. Debuggen hiervan is altijd een beetje moeilijk.

Je kunt ook naar de shell gaan en daar de commanline invullen:

php /volume1/web/proces/mail.php

je zou dan direct een mail moeten krijgen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan