Aller au contenu

renaud63

Webmaster Régulier
  • Compteur de contenus

    53
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Bonjour, Alors j'ai dû bien mal m'expliquer. Je reprends donc : Je suis sur un VPS - dédié et pas privé - et oui j'ai l'accès root. Cette formule est je pense, à mi-chemin entre un mutu et un privé. Donc il y a des limites quand même, notamment le nombre de processus qui peuvent tourner en même temps (numproc). Ici, c'est 128. Il y a, dans le virtuozzo, une rubrique "alertes QoS" qui montre zone verte, jaune, rouge ou noire (plantage total et redémarrage auto) pour : numproc, numfile et numothersock. Il semblerait que l'exécution du script de sendmail / phpMailer fasse voler ces limites et plante tout. Il n'y a qu'un site / domaine sur ce serveur. J'ai vérifié le script d'envoi qui appelle phpMailer : pas de boucle sans fin ou autres, à peine une requête SQL avec une paire de LEFT OUTER JOIN, mais bon... appelé à la main dans le navigateur, le script envoie 2000 mails en 4mn... Pour ce qui est du cron : oui, il est défini, via plesk, dans le domaine concerné avec le user de ce domaine, et pas au niveau du système lui même. Je ne sais pas utiliser crontab -e. Lorsque je fais dans la console putty les tests que tu m'as demandés, alors oui, je me logue en root. Ce matin, j'ai tenté de me loguer avec le user / passe du domaine pour exécuter la commande cron du script incriminé : je me fais jeter et putty ferme à la vitesse de la lumière. J'ai pu lui arracher un log : "Connection closed by remote host". Là s'arrêtent mes compétences. Par contre : je me suis aperçu que des crontabs système (avec le user root) étaient programmés par défaut à une fréquence rapide. Et que les plantages de black zone numproc étaient peut-être liés à ces crons conjugués avec celui du domaine qui déclenche le sendmail. Car ces crons système semblent aussi être en rapport avec sendmail. Les voici : 12,22,32,42,52 * * * * /usr/lib64/plesk-9.0/postfix-poplockdb-clean 7,22,37,52 * * * * /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1 Apparemment, le premier serait lié à une table BDD de postfix et le second à un backup. Mais je peux me tromper, vu que je pipe que dalle à Linux. Voila où j'en suis, c'est à dire à peu près nulle part. Et s'il te reste un peu de temps à me consacrer, et bien ce n'est pas de refus. D'avance merci. Renaud.
  2. Allo ? Personne n'a une idée ? Pkoi cette page envoie les emails correctement avec Sendmail et phpMailer...et pas le cron ? Après un test aujourd'hui, le cron a fait passer le VPS en "black zone" avec un numproc à 128 - maxi fixé par l'hébergeur. Que puis-je faire ? envoyer avec mail au lieu de sendmail ? SMTP ? Par ailleurs, si quelqu'un connaît bien phpMailer : on dirait qu'une fonction de la classe teste la validité des emails avant envoi, car même si debug est à false, des messages type invalid adress toto_AT_free.fr s'affichent sur la page lors du passage de la boucle qui envoie. Et j'aimerais vraiment désactiver cette fonction car je traite les bounces autrement. Une idée ?
  3. Bonjour, Et bien j'ai ressaisi la commande "diff", et, une fois de plus, un gros volume de données s'est affiché. Tout le phpinfo(), en fait. Je pense en connaître la raison : le fichier phpinfo_cron est brut, tandis que phpinfo_httpd est formaté HTML. De ce fait, toutes les lignes sont différentes. J'ai pu isoler la partie finale des deux fichiers et nettoyer le HTML. Voici quelques unes des différences que j'ai pu noter. Je peux t'envoyer le fichier diff.rtf en MP si tu veux. CRON : HTTPD : Il n'y a aucune différence en ce qui concerne le safe_mode. Vois-tu, dans ces quelques lignes, ce expliquerait pourquoi sendmail plante lorsqu'il est lancé par le cron ? De surcroît, il fait planter tout le serveur car le numproc / mémoire atteint les limites fixées par l'hébergeur. Bonne journée. Renaud.
  4. La commande -iwbB (diff -uiwbB phpinfo_httpd phpinfo_cron) retourne : -bash: syntax error near unexpected token `diff' Euh, pour ta question : ben si, j'ai crée la tâche au niveau du serveur avec l'utilisateur root. C'est grave docteur ? Comme je te disais l'autre jour lors de notre précédent échange de posts, je n'héberge personne (et heureusement pour eux !). Donc le domaine, c'est à moi. Et quand j'ai crée cette tâche dans le domaine : permission denied.
  5. Bon, cette fois les deux dossiers se sont bien crées. J'ai donc fait: diff -u phpinfo_httpd phpinfo_cron Mais j'ai l'impression, vu l'avalanche de données, que tout le contenu s'est affiché. diff est sensé n'afficher que ce qui est différent (comme son nom l'indiquerait) ? EDIT : oui je confirme. Je fais : diff -u phpinfo_httpd phpinfo_cron > /tmp/diff.txt Et dans diff.txt, il y a le contenu complet du phpinfo();
  6. Un petit pb et une question : ces deux fichiers phpinfo_httpd et phpinfo_cron... ils vont se créer où ? Je demande ça, parce que : J'ai saisi, pour le cron, la commande: php /var/www/vhosts/autorepondeur-fr.com/httpdocs/version.php>phpinfo_cron version.php étant le fichier qui contient <?php phpinfo(); ?> Mais le rapport par email me donne : /bin/sh: phpinfo_cron: Permission denied Je précise que safe_mode est à off. Ai-je quelque dossier à chmoder ? Et je te remercie encore pour ta patience et ta compétence. Si tu me donnes ton adresse en MP, moi je t'envoie une bouteille de champ' (en espérant que tu n'habites pas de l'autre côté de la planète, lol) EDIT : ahrggghh ! j'ai compris, je pense ! je vois que le fichier phpinfo_httpd s'est crée dans /root je présume qu'il en est de même pour l'autre. Et la tâche cron s'exécute depuis le domaine, donc pas en root. Je recommence.
  7. Bon...alors, je me suis bien cassé la tête pour obtenir 2 fichiers comparables ! Voici comment j'ai procédé : - la commande echo "<?php phpinfo()?>" | php > /tmp/test_php_apache.txt a copié le phpinfo apache en brut dans le fichier test_php_apache.txt - j'ai copié le contenu du mail cron php info dans un autre txt, puis placé dans tmp également - Puis la commande que tu m'as donnée : diff -u /tmp/phpinfo_cron.txt /tmp/test_php_apache.txt Et un la console a...comment dire ? vomi un flot de données. Alors ma question est : est-ce qu'il y a une zone, ou certaines données, à comparer plus particulièrement ou a te coller ici ?
  8. ? me palucher les deux fichiers...ah ah ah...y'a au moins 12 000 lignes ! Bon j'ai capté diff, mais le problème, c'est que ce qui m'a été envoyé dans le mail du cron est en vrac tandis que la source navigateur est joliment pleine de <td> et autres balises HTML. Donc diff va en trouver un paquets, des diff ! Donc faut que je fasse en sorte que le cron me copie la source phpinfo dans un txt... Je fais ça et je te dis.
  9. Euh....excuse moi, mais qu'entends-tu par "diff" ? Une commande linux ? comment l'utiliser ? Le phpinfo de cron est dans un email et celui de apache dans le navigateur.
  10. /etc/alternatives/mta -> /usr/sbin/sendmail.postfix /etc/alternatives/mta: symbolic link to `/usr/sbin/sendmail.postfix' Puis -l /usr/sbin/sendmail.postfix : command not found -l file /usr/sbin/sendmail.postfix/usr/sbin/sendmail.postfix: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped Est ce que ça veut dire que je dois rajouter .postfix à la variable $Sendmail ?
  11. Le echo $sendmail donne : L'adresse email est celle de ma boite de bounces (définie dans la variable $Sender - le return-path) La commande "ls -l /usr/sbin/sendmail" donne : La commande "file /usr/sbin/sendmail" donne
  12. Bonjour Jacques, Voici le comparatif du phpinfo de cron et de apache (se sachant trop quelle donnée comparer, j'ai relevé le sendmail path: - Via cron : /usr/sbin/sendmail -t -i - Apache : /usr/sbin/sendmail -t -i Idem, donc. Maintenant, je ne compare peut-être les bonnes données... Oup's ! j'avais mal lu ton post ! le php.ini est /etc/php.ini dans les deux cas. - Concernant PHPMailer, j'utilise la dernière version : 5.1 pour PHP 5 - Oui j'utilise sendmail pour les envois, et la var $Sendmail est : /usr/sbin/sendmail (j'ai laissé le par défaut). Merci. Renaud.
  13. Bonjour à tous, J'ai un système de newsletter sur mon site qui utilise la classe PHP Mailer. Le serveur est un VPS dédié Plesk / Centos La fonction utilisée pour les envois est sendmail(). Sendmail semble bien installé. Si j'exécute le script via le navigateur, tout se passe bien, les emails partent et s'affichent à l'écran. Mais là où ça coince, c'est lorsque je fais exécuter le script par un crontab. Rien ne part et j'ai l'erreur (dans l'email envoyé par le crontab à l'admin système): La commande crontab est formulée comme suit : /usr/bin/php /var/www/vhosts/mon-site.com/httpdocs/script_envoi.php Dans le code de la page, avant la balise PHP, j'ai inséré : :/usr/bin/php Il doit bien y avoir une erreur au niveau de la commande...et du chemin de sendmail qu'il ne trouve pas. Merci de vos conseils.
  14. Je vais regarder de ce côté-là, oui. Car dans la file d'attente, si on ouvre un msg, on a que ses entetes. Pas de corps. Je te remercie beaucoup pour l'aide que tu m'as apportée. Bonne fin de week-end. Cordialement. Renaud.
  15. oui, je suppose que ce type de mail est un bounce : son titre est "undelivery" et il se retrouve en file attente de postfix. Mais pas de trace du message original qui a provoqué ce bounce... Mais si tu avais un doute sur une possible infection, que regarderais-tu ?
×
×
  • Créer...