Software > Tu Web meteorológica

Script que envía email si no detecta cambios

<< < (4/7) > >>

CarlosLSev:

--- Cita de: jmviper en 21 de Marzo de 2021, 22:46:15 ---php -a es para ejecutar comandos de php en la línea de comandos.

Que no vaya en el crontab es raro. Prueba a poner */10 * * * * /usr/bin/php /var/www/html/webtest/alertalluvia.php

--- Fin de la cita ---

Pues así no funciona.
Como datos a ver si es eso.
Esto lo tengo en servidor vps de alojamiento de la web. Ubuntu 20.04.
Que no es la.raspberry

CarlosLSev:
Interesante, lo mirare y me.planteare no usar sendmail..


--- Cita de: jantoni en 23 de Marzo de 2021, 09:23:12 ---Como consejo.

A mi, activar cualquier mailer me da un miedo atroz. Sobre todo Sendmail, que siempre se ha caracterizado por ser un agujero de seguridad.

Os sugiero usar la mensajería de Telegram

Ya hace tiempo, en el subforo de weewx puse las instrucciones.

Yo lo tengo programado para que cada vez que mi Orange Pi o mi Raspberry Pi se reinicien, me manden un mensaje. La Orange se reinicia todos los días, y la Raspi solo cuando se necesita.

--- Fin de la cita ---

jmviper:
which php y te saldrá la ruta donde está el ejecutable de php y que deberás de poner en el crontab como orden para la ejecución del script.

Todo es según el usuario que uses, el crontab que uses (básicamente hay 3) y alguna otra variable como el path.

Cómo esté eso en tu servidor, lo desconozco.



CarlosLSev:
which php
 la respuesta es /usr/bin/php



No le demos mas vueltas, si funciona con curl...
Si lo ejecuto con crontab el email viene de root
Si lo hago desde el navegador accedieron a la url del php el email viene de www-data
Sera algo de permisos, pero como se dice en la informatica si algo funciona, mejor no lo toques

CarlosLSev:
Al final indagando di con la respuesta

AL principio me dejo ejecutar desde cron tu script y luego ya no.
El script de flatline-check, por defecto tanto la ruta de realtime como el fichero cache vienen asi;
$cachefile = 'flatline-status.txt';                 // File to hold cached data for comparison
$watchfile = './clientraw.txt';                     // Data file to watch for changes
yo lo cambie a
$cachefile = 'alertarealtime.txt';                 // File to hold cached data for comparison
$watchfile = 'realtime.txt';                     // Data file to watch for changes

Si accedía con navegador a la ruta del php me funcionaba
Si lo ejecutaba por ssh con php  /var/www/html/webtest/alertalluvia.php funcionaba
Al ejecutarlo desde cron al no tener las rutas daba error y no iva al ejecutarlo con php pero al ejecutarlo con curl si
Por algún motivo cambien la rutas también en tu script y al funcionarme desde el navegador pensé mejor así. Luego me di cuenta del motivo, lo corregí y finalmente los 2 script están funcionando por cron ejecutándose por php y no con curl, cuando pueda mirarle de no hacerlo con sendmail y echare un ojo a lo de telegram.

Si lo se soy un burro harto papeles!!!!!
Pero tenia que dar con la explicacion

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa