PDA

Voir la version complète : script pour crontab


PoichOU
03/06/2007, 18h28
Bonjour à tous,

je viens de découvrir la possibilité d'utiliser des crontab et je voudrais savoir comment doit être mon script.

J'ai le fichier suivant : mail.php qui envois un mail tout simple
<?php
$Destinataire = "monadresse@free.fr";
$Sujet = "Envois automatique";
$From = "From:admin@monsite.com\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";
$Message = "<html><b>Envois automatique</b></html>";
$envoi_mail = mail($Destinataire,$Sujet,$Message,$From);
?>

si je vais à l'url : www.monsite.com/mail.php le mail est bien envoyé (je me l'envois à moi même).


Je voudrais en faire un script pour une tache crontab. D'après ce que j'ai lu je dois rajouter le code suivant :
#!/usr/local/bin/php
Est ce que je dois le mettre avant ou après <?php ?
Est ce que je dois laisser <?php et ?> ?

Je dois ensuite envoyer mon script au support, est ce que je peux le mettre autre part que dans www ?

merci de m'éclairer si vous utilisez crontab

PoichOU

Homer Jay
06/06/2007, 07h40
Je voudrais en faire un script pour une tache crontab. D'après ce que j'ai lu je dois rajouter le code suivant :
#!/usr/local/bin/php

Oui. Voire même "php -q".

Est ce que je dois le mettre avant ou après <?php ?

Avant; il faut que le "#!" soit au tout début du fichier.

Est ce que je dois laisser <?php et ?> ?

Oui. C'est bête, mais, sinon, PHP se contente de recopier ton code sur sa sortie sans l'exécuter.

Je dois ensuite envoyer mon script au support, est ce que je peux le mettre autre part que dans www ?

Oui. Il faut donner son chemin complet au support.

PoichOU
06/06/2007, 19h49
Merci de ta réponse Homer Jay

Pour résumer, je crée le fichier mail.php avec le code suivant :
#!/usr/local/bin/php
<?php
$Destinataire = "monadresse@free.fr";
$Sujet = "Envois automatique";
$From = "From:admin@monsite.com\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";
$Message = "<html><b>Envois automatique</b></html>";
$envoi_mail = mail($Destinataire,$Sujet,$Message,$From);
?>

je le place dans /home/monlogin/www/mail.php


et j'envoie au support :
- MEDIAPLAN - monnomde domaine
- /home/monlogin/www/mail.php
- tous les jours, toutes les 5 minutes

Je fais le test ...

Abogil
06/06/2007, 19h52
Soit 288 mails par jour d'un même émetteur. C'est presque du spam ? :D

most
13/09/2007, 18h50
Je profite du sujet pour poser une question supplémentaire !

Est-il possible de mettre le script dans un dossier protégé par un .htaccess ?
Cela dans le but d'empêcher les utilisateurs d'aller activer nos scripts !

Ou alors est-ce que le .htaccess empêchera la tache de pouvoir être executée automatiquement ?

Je souhaite moi aussi executer un script de ce genre en page PHP qui mettra à jour ma base de donnée à partir d'un flux XML, quelqu'un peut me confirmer que la simple ligne "#!/usr/local/bin/php" est le seul truc à rajouter à mon script pour que tout marche une fois envoyé au support ?