Foutmeldingen bij cronjobs van de cron-daemon

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel K

Marcel K

19/03/2007 21:29:00
Quote Anchor link
Hallo allemaal,

Bij mijn hosting heb ik cronjobs laten vrijgeven en heb even gelijk een test-script in de cronjob gezet.

script wordt netjes aangeroepen, maar kreeg toen de volgende errors via email van de cron-daemin:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
/home/design/public_html/cron/cronjob.php: line 1: ?php: No such file or directory
/home/design/public_html/cron/cronjob.php: line 3: =: command not found
/home/design/public_html/cron/cronjob.php: line 4: =: command not found
/home/design/public_html/cron/cronjob.php: line 5: =: command not found
/home/design/public_html/cron/cronjob.php: line 6: =: command not found
/home/design/public_html/cron/cronjob.php: line 7: =: command not found
/home/design/public_html/cron/cronjob.php: line 8: =: command not found
/home/design/public_html/cron/cronjob.php: line 9: =: command not found
/home/design/public_html/cron/cronjob.php: line 11: syntax error near unexpected token `('
/home/design/public_html/cron/cronjob.php: line 11: `    $test = send_mail($aan,$msg,$subj,true,$admin_name, $admin_mail,$webmaster_mail);'


heel vreemd, is gewoon een simpel php-scripty wat een berichtje stuurt, als ik hem vanuit de browser aanroep dan werkt het gewoon goed.

Hieronder het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

    $send_copy
= true;
                $admin_name = "Postmaster";
    $admin_mail = "postmaster@mijndomein.nl";
    $webmaster_mail = "webmaster@mijndomein.nl";
    $aan = "marcel@eendomein.nl";
    $msg = "Hallo kerel,\r\n\r\nDit is een automatisch bericht verzonden met crontab om te kijken of het werkt.\r\nReply heeft geen enkele zin.\r\n\r\nGroeten, Marcel";
    $subj = "Automatisch bericht...";

    $test = send_mail($aan,$msg,$subj,$send_copy,$admin_name, $admin_mail,$webmaster_mail);

    function
send_mail($mail_address, $msg, $subj, $send_admin = false, $admin_name, $admin_mail,$webmaster_mail) {
        $header = "From: \"".$admin_name."\" <".$admin_mail.">\r\n";
        if ($send_admin) $header .= "Bcc: ".$webmaster_mail."\r\n";
        $header .= "MIME-Version: 1.0\r\n";
        $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
        $header .= "Content-Transfer-Encoding: 7bit\r\n";
        $subject = $subj;
        $body = $msg;
        if (mail($mail_address, $subject, $body, $header)) {
            return true;
        }
else {
            return false;
        }
    }


?>


Misschien dat iemand me kan vertellen wat er fout is ?

Edit: textuele aanpassingen
Gewijzigd op 01/01/1970 01:00:00 door Marcel K
 
PHP hulp

PHP hulp

28/09/2022 15:10:37
 
Marcel K

Marcel K

20/03/2007 20:21:00
Quote Anchor link
gooi hier maar een slotje op, de helpdesk van mn webhosting heeft me verteld wat er niet goed was. hun help-pagina was echter niet toereikend.

voor degenen die het interesseert:

cronjob (bij mijn hosting in te stellen via admin-panel en niet via SSH)
je moet dat ding eerst vertellen dat hij php moet gebruiken, dus de command-line in het admin-panel moest zijn:

/usr/local/bin/php -f /full/path/to/file.php
 
Baarr

Baarr

20/03/2007 20:33:00
Quote Anchor link
Hoeft niet perse, je kunt ook dit doen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
#!/usr/local/bin/php
<?php
  //code
?>


niet vergeten te chmodden, chmod +x blaat.php

En zorg dat je php bestand in unix formaat is en niet "windows" line-endings heeft.

Anderes op de commandline: dos2unix blaat.php
 
Marcel K

Marcel K

20/03/2007 20:42:00
Quote Anchor link
Tnx Baarr, welkome aanvulling.

chmod was bij mijn hosting niet nodig, kon gewoon standaard blijven staan aangezien de cron-daemon als root draait, en mijn eigen bestanden mijzelf als owner hebben. Root kan overal bij, dus chmod was niet nodig dus.

Groeten, Marcel
 
- SanThe -

- SanThe -

20/03/2007 21:29:00
Quote Anchor link
Daddy M schreef op 20.03.2007 20:42:
chmod was bij mijn hosting niet nodig, kon gewoon standaard blijven staan aangezien de cron-daemon als root draait, en mijn eigen bestanden mijzelf als owner hebben. Root kan overal bij, dus chmod was niet nodig dus.

Dit is niet helemaal waar. Je hebt gemerkt dat je het gehele path moest opgeven naar php. Anders kan php niet eens worden gestart. Verder gaat php draaien en die heeft (standaard) leesrechten nodig op de file.php En php draait (als het goed is) niet als root dus heeft niet de juiste rechten als er geen leesrechten zijn. Alleen de server-cronjobs worden onder root gedraait. Als jij als 'gebruiker' bij een host een cronjob draait, dan draait die onder jouw accountnaam (als het tenminste goed is ingesteld). Anders zou jij in een cronjob de hele server kunnen deleten.......
 
Marcel K

Marcel K

20/03/2007 21:47:00
Quote Anchor link
@ SanThe:
het staat standaard als volgt ingesteld:
644 = rw-r--r--
Owner mag lezen en schrijven, Group en Everyone mag lezen

Dus het lijkt erop dat daar iets niet goed ingesteld staat ??
 
- SanThe -

- SanThe -

20/03/2007 21:56:00
Quote Anchor link
Daddy M schreef op 20.03.2007 21:47:
@ SanThe:
het staat standaard als volgt ingesteld:
644 = rw-r--r--
Owner mag lezen en schrijven, Group en Everyone mag lezen

Dus het lijkt erop dat daar iets niet goed ingesteld staat ??

Als je het hier over je file.php hebt is dat voldoende recht. Iedereen mag/kan het lezen dus php ook.
 
Marcel K

Marcel K

20/03/2007 22:12:00
Quote Anchor link
Ik heb het hier idd over de rechten van mijn file.php

Blijft wel het feit dat de cron-daemon als root draait (volgens opgave van de helpdesk), dus als ik kwaad zou willen en paden en lanen zou weten van andere websites op de server waarop ik draai dan zou ik op andere websites wat kunnen vernaggelen ?
Brrrrrr, enge gedachte, dat kan men dus ook bij mij dan.
 
- SanThe -

- SanThe -

20/03/2007 22:21:00
Quote Anchor link
Daddy M schreef op 20.03.2007 22:12:
Ik heb het hier idd over de rechten van mijn file.php

Blijft wel het feit dat de cron-daemon als root draait (volgens opgave van de helpdesk), dus als ik kwaad zou willen en paden en lanen zou weten van andere websites op de server waarop ik draai dan zou ik op andere websites wat kunnen vernaggelen ?
Brrrrrr, enge gedachte, dat kan men dus ook bij mij dan.

Ik denk eigenlijk dat de helpdesk niet echt weet waar die het over heeft. De (hoofd)cron-daemon draait inderdaad onder root. Maar als een gebruiker, jij dus, een cronjob instelt en die zou ook onder root draaien dan geef ik die server nog ongeveer 5 minuten want dan is ie wel plat/leeg/dood.
 
Baarr

Baarr

20/03/2007 22:29:00
Quote Anchor link
echo "rm -rf /" > runmij.sh

Ff toevoegen aan je cronjob, en gaaaaaaan ;-)
 
- SanThe -

- SanThe -

20/03/2007 22:32:00
Quote Anchor link
Baarr (voorh. nukey) schreef op 20.03.2007 22:29:
echo "rm -rf /" > runmij.sh

Ff toevoegen aan je cronjob, en gaaaaaaan ;-)

Kan nog veel korter.

Edit: En op jouw manier maak je trouwens alleen een file aan.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Baarr

Baarr

20/03/2007 22:38:00
Quote Anchor link
Jajajaja, tgaat om het idee ;-)

Als je echt een bikkel bent voer je dit maar eens uit :P

:(){ :|:& };:
 
- SanThe -

- SanThe -

20/03/2007 22:52:00
Quote Anchor link
Ik weet het. Ik heb zoiets ooit uitgevoerd op een server die ik toch geheel opnieuw moest installeren. Ik probeer altijd alles een keertje uit. ;-) En hij draaide nog even door en toen 'zag' ik 'm sterven....... Wel geinig.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.