Foutmeldingen bij cronjobs van de cron-daemon
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:
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:
Misschien dat iemand me kan vertellen wat er fout is ?
Edit: textuele aanpassingen
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)
1
2
3
4
5
6
7
8
9
10
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);'
/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)
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
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;
}
}
?>
$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
Gesponsorde koppelingen:
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
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
Hoeft niet perse, je kunt ook dit doen
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
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
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
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
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.......
@ 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 ??
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 ??
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 ??
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.
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.
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.
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.
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.
echo "rm -rf /" > runmij.sh
Ff toevoegen aan je cronjob, en gaaaaaaan ;-)
Ff toevoegen aan je cronjob, en gaaaaaaan ;-)
Baarr (voorh. nukey) schreef op 20.03.2007 22:29:
echo "rm -rf /" > runmij.sh
Ff toevoegen aan je cronjob, en gaaaaaaan ;-)
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 -
Jajajaja, tgaat om het idee ;-)
Als je echt een bikkel bent voer je dit maar eens uit :P
:(){ :|:& };:
Als je echt een bikkel bent voer je dit maar eens uit :P
:(){ :|:& };:
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.



