Bonjour,

j'ai un problème de compréhension de résultat ,
je lance un cron toute les minutes (pour le test).
ce cron fait ceci (pour mes test je suis sous ubuntu en desktop)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
* * * * *  php -f /home/dell/cli/mail.php
toutes les minutes il m'envoie un mail, il lit un fichier qui contient des adresses ip

voici le fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
<?php
$nb_ligne = file_get_contents('ip_public.txt');
$ligne = substr_count($nb_ligne, "\n");
#echo "il  y a  ++++".$ligne;
$nb_ip = substr_count($nb_ligne, "\n");
$destination = 'mail@mail.fr';
 
// Subject
$sujet =  $nb_ip."nb ip ";
$msg ="echec lecture ip public";
// Function mail()
 
 
if (substr_count($nb_ligne, "\n") == 1 )
{
	echo "recupere ip ********\n";
	$txt = fopen('ip_public.txt', 'r'); 
	$ip_public = fgets($txt);
	fclose($txt);
//	var_dump($ip_public);
 
 
 
	// Subject
	$sujet = $ip_public;
	$msg =$ip_public;
	// Function mail()
 
	if(mail($destination, $sujet, $msg))
	{
		echo "lecture ok";
  		echo "envoie ok  => ".$ip_public."date :".date('Y-m-d H:i:s');  // 2012-10-11 15:35:53;
		//  unlink("ip_public.txt");//suppresion du fichier
 
	}
 
 
}
else
{
	echo"XXXXXXXXXX".$nb_ip."XXXXXXXXXXX vider le fichier\n";
	$txt = fopen('ip_public.txt','r+');
	ftruncate($txt,0);
 
	if(mail($destination, $sujet, $msg))
	{
		echo "lecture échoué, vidage du fichier";
 
	}
 
}
le but c'est de récupérer l'ip dans le fichier ip_public.txt

- si j'ai un seul ip => envoie mail, et indique l'ip
- si j'ai plusieur ip => envoie mail, envoie du nombre d'ip => si plus d'un ip, vidage du fichier.

voici le cron qui me charge les ip, toutes les 2 minutes
Code console : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
*/2 * * * *  curl ifconfig.me cat >> /home/dell/cli/ip_public.txt

lorsque je test tout ça manuellement en appelant php tout fonctionne
comme sur des roulettes

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
dell@dell-Inspiron-3521:~/cli$ php mail.php
par contre lorsque je laisse faire le cron ,
je reçois bien toute les minutes les mails ,
mon sujet est toujours 0nb ip ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 substr_count($nb_ligne, "\n")
avec un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
tail -f ip_public.txt
je vois bien que toutes les 2 minutes mes ip publics sont enregistré dans le fichiers.
j'espère avoir essayer d'expliquer au mieux mon soucie.

Merci d'avance de vos réponse, si vous avez une idée