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)
toutes les minutes il m'envoie un mail, il lit un fichier qui contient des adresses ip
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 * * * * * php -f /home/dell/cli/mail.php
voici le fichier :
le but c'est de récupérer l'ip dans le fichier ip_public.txt
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"; } }
- 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
par contre lorsque je laisse faire le cron ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2dell@dell-Inspiron-3521:~/cli$ php mail.php
je reçois bien toute les minutes les mails ,
mon sujet est toujours 0nb ip ?
avec un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 substr_count($nb_ligne, "\n")
je vois bien que toutes les 2 minutes mes ip publics sont enregistré dans le fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tail -f ip_public.txt
j'espère avoir essayer d'expliquer au mieux mon soucie.
Merci d'avance de vos réponse, si vous avez une idée
Partager