Toon posts:

[php] cronjob troubles

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok,

Na veel zoeken en lezen >:) ben ik maar eens met cronjobs begonnen.

Nu heb ik het volgende probleem:
Ik krijg iedere keer de volgende melding:
/bin/sh: /home/sites/site123/web/crontest.php: Permission denied

Die file crontest.php heb ik 777 gechmod. en ziet er als volgt uit:
PHP:
1
2
3
4
5
6
7
8
9
<?
#!/usr/local/lib/php
<?

$to="ikke@hiero.nl";
$subject="cron test";
$message="Dit is het resultaat van de cronjob";
mail($to,$subject,$message) or print("kan mail niet zenden.");
?>

De regel in mijn crontab ziet er als volt uit:
code:
1
0,15,30,45 * * * * /home/sites/site123/web/crontest.php

Wie o wie helpt me om dit script aan de gang te krijgen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

't Kan zijn, dat het filesystem (waar je homedir staat) dusdanig gemount is, in de server, dat er geen files geexecute mogen worden..

Dan is alles voor niks geweest :(

Misschien dat je nog aan `cat /etc/fstab` of `mount` kan zien of de disk waar jij op zit noexe is gemount.

Verwijderd

Topicstarter
Meerdere mensen op die server draaien cronjobs:

Hier is btw de output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[markvdakker users]$ cat /etc/fstab
/dev/hda1        /     ext2    defaults               1 1
/dev/hda6        swap   swap    defaults                  0 0
/dev/hda3        /var   ext2    defaults,nosuid          2 2
/dev/hda4        /home     ext2    defaults,usrquota,grpquota,grpid  3 3
none            /proc     proc    defaults                0 0
none            /dev/pts  devpts  gid=5,mode=0620
             0 0
[markvdakker users]$ mount
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda3 on /var type ext2 (rw,nosuid)
/dev/hda4 on /home type ext2 (rw,usrquota,grpquota,grpid)
none on /dev/pts type devpts (rw,gid=5,mode=0620)

Hier kan IK niets uit opmaken.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 04 september 2001 23:42 schreef MrK het volgende:
Hier kan IK niets uit opmaken.
Ik wel :P

Het komt erop neer dat je server niet verkeerd staat ingesteld.
Het moet in principe mogelijk zijn applicaties te draaien vanaf die disk.

Het enige wat ik me dan nog kan bedenken is dat je geen php mag uitvoeren, of dat php op de verkeerde plek staat
`ls -l /usr/local/lib/php`
(en dan moet er iets als -rwxr-xr-x .... uitkomen, als die dikke x-en missen kan je waarschijnlijk php niet gebruiken...)

Voer je script op de commandline uit.
Dus gewoon ./crontest.php

Verwijderd

Topicstarter
Bedankt voor je aanwijzingen.
code:
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
[markvdakker markvdakker]$ ls -l /usr/local/lib/php
total 92
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Benchmark
drwxrwxr-x   3 root     root       1024 Jun 28 13:13 Cache
-rw-r--r--   1 root     root      10945 Jun 28 13:13 Cache.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Console
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Crypt
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 DB
-rw-r--r--   1 root     root      21019 Jun 28 13:13 DB.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Date
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 File
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 HTML
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 HTTP
-rw-r--r--   1 root     root       4085 Jun 28 13:13 HTTP.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Image
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Log
-rw-r--r--   1 root     root       6797 Jun 28 13:13 Log.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Mail
-rw-r--r--   1 root     root       7043 Jun 28 13:13 Mail.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Math
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Net
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Numbers
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 PEAR
-rw-r--r--   1 root     root      18966 Jun 28 13:13 PEAR.php
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Payment
drwxrwxr-x   2 root     root       1024 Jun 28 13:13 Schedule
drwxrwxr-x   3 root     root       1024 Jun 28 13:13 XML
drwxrwxr-x   2 root     root       1024 Apr 21 14:31 build
drwxrwxr-x   4 root     root       1024 Jun 28 13:13 extensions
[markvdakker markvdakker]$

mmm, het lijk mij dat alles wel goed zit, qua locatie en rechten.
code:
1
2
3
[markvdakker web]$ chmod 777 ./crontest.php
[markvdakker web]$ ./crontest.php
bash: ./crontest.php: Permission denied

Volgens mij mag ik GEEN php uitvoeren vanaf de commandline, toch?
:(

Verwijderd

Topicstarter
In de search heb ik gevonden dat het ook met lynx kan, dus het volgende heb ik geporbeerd:
code:
1
5,10,15 * * * * lynx -source http://www.overclockers.nl/crontest.php > /dev/null

Error:
Your terminal lacks the ability to clear the screen or position the cursor.

en
code:
1
5,10,15 * * * * lynx -dump http://www.overclockers.nl/crontest.php > /dev/null

Error:
Your terminal lacks the ability to clear the screen or position the cursor.

:(

Verwijderd

Topicstarter
UPDATE:

Het script wordt wel uitgevoerd als ik type:

lynx -dump http://www.testje.nl/crontest.php

als output krijg ik dan:
code:
1
2
3
4
5
[markvdakker markvdakker]$ lynx -dump http://www.testje.nl/crontest.php

   #!/usr/local/lib/php -q

[markvdakker markvdakker]$

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Misschien helpt dit. Mijn cronjob ziet er zo uit:
code:
1
2
TERM=xterm
*/5 * * * * lynx -dump -source http://127.0.0.1/update.php >/dev/null

Let op die eerste regel, daarmee verhelp je die error. Zie ook [topic=217686]

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Topicstarter
Yes hij werkt,

Alle topics over cronjobs en crontabs had ik gelezen dacht ik...

Bedankt. :) :)

Verwijderd

commando: lynx -dump -source test.php

inhoud test.php:
<?php

print "hallo";

?>


maar de output van het commando is ook precies:
<?php

print "hallo";

?>


HELP! :?

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 15-09 19:37

Super_ik

haklust!

je php wordt niet geparst :)
roep m dan op via je apache server ofzo
[url="http://localhost/myscript/crontest.php"]http://localhost/myscript/crontest.php[/url]

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Op woensdag 23 januari 2002 19:29 schreef Super_ik het volgende:
je php wordt niet geparst :)
roep m dan op via je apache server ofzo
[url="http://localhost/myscript/crontest.php"]http://localhost/myscript/crontest.php[/url]
Bedankt, dat werkt wel! :D
Ook beveiligde dirs kan ik hiermee openen met -auth uid:pwd

Enig idee hoe ik php kan 'parsen' voor lynx?

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 15-09 19:37

Super_ik

haklust!

t wordt dan toch gepartst ofnie? dan heb je geen php in je apache zitte

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Op woensdag 23 januari 2002 19:38 schreef Super_ik het volgende:
t wordt dan toch gepartst ofnie? dan heb je geen php in je apache zitte
Via het url (http://<domein>/etc) werkt het wel.

Misschien gebruik ik parsen verkeerd. Anders:

Het is niet wenselijk om via apache php-scripts aan te roepen in deze vorm.. aangezien ze dan voor het gehele web open staan (tenzij ik een beveiligde dir aanmaak).
Het liefst zou ik dus omzeilen dat ze in een pub dir staan (al met wachtwoord of niet).

Verwijderd

misschien je script aanroepen met php scriptnaam

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

ik doe het meestal zo:
code:
1
*/10 * * * * /usr/bin/wget -O/dev/null -q http://localhost/foo/bar.php

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Het kan best nuttig zijn om je cronjob script output toch op te slaan i.p.v. de /dev/null te pakken.

Als je zorgt dat je GEEN output hebt als alles lukt en je wel output krijgt bij fouten, dan heb je meteen een mooi error log.

[code]
*/5 * * * * lynx -dump -source http://127.0.0.1/update.php >>/dev/null
[code]

(note the double >>)

|_____vakje______|


  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Ehm, wat doet die dubbele > dan :?

(is het erg dat ik dit niet weet? :P)

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Op woensdag 23 januari 2002 23:19 schreef GraasGast het volgende:
Ehm, wat doet die dubbele > dan :?
Toevoegen i.p.v. overschrijven.

Dus:
echo 'bar' > foo.txt
echo 'kruk' >> foo.txt

levert een foo.txt:
barkruk
(is het erg dat ik dit niet weet? :P)
Verschrikkeluk :P

|_____vakje______|


  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

ehm, toevoegen aan /dev/null? :P

Verwijderd

fftjes "TERM=xterm" boven de aanroep van de lynx -dump http://www.etcccccccc.nl/whatever.php > /dev/null zetten
Pagina: 1