Meteoclimatic
Software => WeeWX => Mensaje iniciado por: kocher en 07 de Julio de 2024, 20:10:53
-
Saludos a todos
Estoy ejecutando en un Pc, Linux con una distribución Ubuntu:
"DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy"
Weewx versión 4.10.2
El "Skin" que está funcionando, es "Belchertown versión 1.3.1":
http://kocher.es/weewx/belchertown
Pues bien, localmente todo funciona bien, se generan las páginas html, json ..
El problema que tengo es que, la página en la web no se actualiza, salvo que lo haga de forma manual, bien con Filezilla o mediante unos archivos "sh".
Concretamente son 10 de estos archivos los que se pueden encargar de ello; el problema es que lo tengo que hacer de forma manual:
./miFTP.sh && ./miFTP1.sh && ./miFTP2.sh && ./miFTP3.sh && ./miFTP4.sh && ./miFTP5.sh && ./miFTP6.sh && ./miFTP7.sh && ./miFTP8.sh && ./miFTP9.sh
Cuando los activo de forma manual, actualizan la página perfectamente.
Intenté crear un CRONTAB que, no sé porqué, me chafó toda la página; era del tipo (lo escribo de memoria ya que lo eliminé):
*/5 * * * * /Documents/.miFTP.sh && ./miFTP1.sh && ./.......
Bien, la pregunta y solicitud de ayuda es la siguiente:
¿Se puede crear, mediante CRONTAB un archivo que suba mediante FTP estos archivos cada 5 minutos? y, en ese caso como sería el código?
Muy agradecido por vuestra atención
-
Sin poder valorarlo bien, al estar respondiendo con el móvil, me atrevo a preguntarte, si los servicios los genera weewx, ¿por qué no los subes con el FTP de weewx?
O algo no he entendido bien
-
Pero, en todo caso, claro que se puede hacer
Habría que hacer un script que llame a FTP si lo quieres hacer por FTP o a curl si lo quieres hacer por http
Puedes usar FTP interactivo, poniendo comodines,
Hay muchas opciones
Personalmente no utilizo FTP en scripts hace muchos años, cuando pasaba ficheros de un ordenador a otro para hacer la copia de seguridad de weewx
-
Saludos Jantoni (El Linuxero) je je
Te agradezco tus rápidas respuestas de ayuda que siempre vienen bien.
Bueno, no sé como explicarlo mejor.
Dices que podría subirlo con el FTP de weewx; pero no tengo idea de como hacerlo.
Tampoco conozco la manera de de ucomo utilizar CURL (algo he leído).
La idea es automatizar cada 5 minutos, esa concatenación de archivo .sh, que activados manualmente funcionan de lujo.
En fin, espero que gracias a vosotros, podamos encontrar una solución.
Un fuerte abrazo
-
Los ficheros los genera Weewx?
-
Los ficheros los genera Weewx?
Efectivamente; esos ficheros los creé yo pero, al activarlos, realizan FTP de todos los ficheros locales hasta mi web
-
Habría que verlo, pero si son ficheros generados cada vez que weewx actualiza archivos se puede enchufar por FTP a donde tu quieras.
Creo recordar que estén la sección stdrprt o algo así está la configuración del FTP. Puedes tener tantos FTP como quieras
Desde el móvil no puedo enviarte mi configuración, pero a ver si mañana me acuerdo y te lo paso
-
Muchas gracias Jantoni
He intentado utilizar el "skin" FTP de weewx, sin resultados
Eres un hacha
Saludos desde San Sebastián
-
Es sencillo….jo….es que desde el móvil nada….y desde el iPad, que estoy ahora, ya probé algunos programas para terminal de Linux y fueron un desastre.
Con el ordenador y las 3 pantallas todo es más fácil…..y así luego se quedan mis ojos…..para llevarlos al rastro *+* *+* *+* *+* *+*
-
Bueno, aquí tienes la configuración de mi FTP
Manejo dos servidores en la empresa OVH.net
Todo es autoexplicativo.
[[FTP]]
# FTP'ing the results to a webserver is treated as just another report,
# albeit one with an unusual report generator!
skin = Ftp
# If you wish to use FTP, set "enable" to "true", then
# fill out the next four lines.
# Use quotes around passwords to guard against parsing errors.
enable = false
user = usuario
password = contraseña
server = ftp.miftphost.hosting.ovh.net # The ftp server name, e.g, www.myserver.org
path = www/meteo # The destination directory, e.g., /weather
# Set to True for an FTP over TLS (FTPS) connection. Not all servers
# support this.
secure_ftp = False
# To upload files from something other than what HTML_ROOT is set
# to above, specify a different HTML_ROOT here.
#HTML_ROOT = public_html
# Most FTP servers use port 21
port = 21
# Set to 1 to use passive mode, zero for active mode
passive = 1
[[FTP2]]
# FTP'ing the results to a webserver is treated as just another report,
# albeit one with an unusual report generator!
skin = Ftp
# If you wish to use FTP, set "enable" to "true", then
# fill out the next four lines.
# Use quotes around passwords to guard against parsing errors.
enable = true
user = usuario
password = contraseña
server = ftp.mifpthost2.hosting.ovh.net # The ftp server name, e.g, www.myserver.org
path = www # The destination directory, e.g., /weather
# Set to True for an FTP over TLS (FTPS) connection. Not all servers
# support this.
secure_ftp = False
# To upload files from something other than what HTML_ROOT is set
# to above, specify a different HTML_ROOT here.
HTML_ROOT = public_html/davis1
# Most FTP servers use port 21
port = 21
# Set to 1 to use passive mode, zero for active mode
passive = 1
Debes indicar skin = Ftp para que Weewx sepa lo que tiene que hacer.
El nombre entre doble corchetes es irrelevante....lo eliges tú....yo tengo FTP y FTP2
A continuación enable = true, pues de lo contrario no se activa.
Usuario y Contraseña del servidor FTP.
El nombre del servidor ftp
El path es el camino desde el directorio raiz de tu servidor ftp. Este concepto es el que más trabajo cuesta asimilar. Si no lo tienes claro, dímelo y te cuento trucos....pero depende de cada servidor.
A continuación viene secure_ftp......siempre a False....mucha gente cree que activándolo, Weewx utiliza el protocolo seguro SFTP para enviar....y no....es el protoco FTPS que lo usan muy pocos servidores. Si es necesario usar SFTP hay que instalar una extensión a weewx. Pero de eso ya hablaríamos si hiciese flta.
Me salto el HTML_ROOT y luego vuelvo
port =21 salvo que la empresa de hosting te diga otro puerto diferente.
passive = 1 salvo que sepas lo que haces *+*
Bien HTML_ROOT verás que en uno de los FTP no se lo indico pues lo tengo comentado......en ese caso, Weewx enviará TODOS LOS FICHEROS del directorio HTML_ROOT por defecto configurado en otra parte de Weewx.conf al servidor FTP.....insisto todos.
Si pones HTML_ROOT apuntando a otro sitio entonces, Weewx enviará todos los ficheros de ese directorio.
-
Vayamos a mi ejemplo.....
Yo tengo
WEEWX_ROOT = /home/weewx
Luego en la sección de skins, tenemos en StdReport
HTML_ROOT = public_html
Este es el directorio por defecto y por tanto apunta a /home/weewx/public_html
Pero luego tengo
[[NeowxMaterialReport]]
# The SeasonsReport uses the 'Seasons' skin, which contains the
# images, templates and plots for the report.
skin = neowx-material
enable = true
HTML_ROOT = public_html/test/davis1
Por lo que tengo, otro skin en /home/public_html/test/davis1
Otro skin
[[SeasonsReport]]
# The SeasonsReport uses the 'Seasons' skin, which contains the
# images, templates and plots for the report.
skin = Seasons
enable = true
HTML_ROOT = public_html/davis1
Y cuyos ficheros están en /home/weewx/public_html/davis1
Si yo quiero enviar los ficheros que están ubicados en este último skin en HTML_ROOT en la sección FTP pondré
HTML_ROOT = public_html/davis1
Y Weewx cuando genere ficheros, enviará TODOS los archivos ubicados en ese directorio y sus subdirectorios al servidor FTP
Una vez modificada la configuración, recuerda que al tocar el fichero weewx.conf debes recargarlo o reiniciar weewx.
-
Por esto te preguntaba que si los ficheros los genera Weewx.
Si los generara otro programa, ya sería más complicado y ahí ya no tengo experiencia.
En todo caso, también te puedes generar un skin propio, basado en un skin de los disponibles.....habría que configurar muchas cosas.....pero podrías, podrías
-
Buenos días Jantoni
Agradecido por tus explicaciones; hasta ahora no me ha funcionado; creo que el mayor problema que encuentro, es el de las direcciones; en mi caso he puesto lo siguiente:
path = /www/weewx/belchertown # The destination directory, e.g., /weather (directorio remoto en mi web)
HTML_ROOT = /var/www/html/weewx/belchertown (directorio local en mi equipo)
Pero, sigue sin funcionar :;
-
He modificado el nombre de mi servidor; ahora he visto que se trata del nombre del servidor FTP
Voy a esperar un par de ciclos de weewx, para ver si funciona
Muchas gracias, veremos :;
-
Pues no
No funciona; he revisado las direcciones y, creo que son correctas.
Sospecho que el fallo está en la dirección remota; he probado:
1) la dirección FTP completa: /kocher1/www/weewx/belchertown
2) la dirección de la carpeta remota: /belchertown
Voy a probar: /weewx/belchertown
A ver si hay suerte je je
-
Kocher
Estás usando direcciones absolutas en lugar de relativas.
Si usas direcciones absolutas tienes que ponerlas completas.
En mi ejemplo son direcciones relativas
Por ejemplo
Si WEEWX_ROOT = /home/weewx En mi caso
Entonces si los ficheros están en
/home/weewx/public_html/davis1
ROOT_HTML = public/davis1 Como relativa, es decir, nace de /home/weewx
o
ROOT_HTML = /home/weewx/public_html/davis1 Como dirección absoluta
Lo mismo pasa en el servidor de destino
En el servidor de destino, lo mejor es entrar con el comando ftp manualmente y ver en qué directorio “aterrizas” al identificarte. Puedes ver ese directorio con el comando pwd
-
Pues no
No funciona; he revisado las direcciones y, creo que son correctas.
Sospecho que el fallo está en la dirección remota; he probado:
1) la dirección FTP completa: /kocher1/www/weewx/belchertown
2) la dirección de la carpeta remota: /belchertown
Voy a probar: /weewx/belchertown
A ver si hay suerte je je
Seguramente será
www/weewx/Belchertown
o
weewx/Belchertown
Cada servidor de cada hosting es diferente en función de su configuración
Si entras con el comando
ftp tuservidordeficheros.loquesea
Te identificas
Y metes inmediatamente el comando
pwd
Te devolverá el directorio de “aterrizaje”
-
Bendito seas por tu santa paciencia; me temo que no soy un buen alumno.
He puesto las siguientes direcciones:
path = weewx/belchertown # The destination directory, e.g., /weather
HTML_ROOT = html/weewx/belchertown
Teniendo en cuenta que las direcciones absolutas son:
/var/www/html/weewx/belchertown/ (dirección local)
/kocher1/www/weewx/belchertown (dirección remota)
¿se te ocurre alguna idea ?
Y, sobre todo, muchísimas gracias
-
Bendito seas por tu santa paciencia; me temo que no soy un buen alumno.
He puesto las siguientes direcciones:
path = weewx/belchertown # The destination directory, e.g., /weather
HTML_ROOT = html/weewx/belchertown
Teniendo en cuenta que las direcciones absolutas son:
/var/www/html/weewx/belchertown/ (dirección local)
/kocher1/www/weewx/belchertown (dirección remota)
¿se te ocurre alguna idea ?
Y, sobre todo, muchísimas gracias
La primera, me la creo
La puedes poner en absoluta
HTML_ROOT = /var/www/html/weewx/belchertown/
Ojo a las mayúsculas…….Belchertown suele representarse con B mayúscula……y Linux no es Windows….es sensible a mayúsculas,
La segunda me resulta más raro. Pero como te dije….¿donde aterrizas al entrar manualmente con ftp? Donde aterrices manualmente es donde va a hacerlo el ftp de Weewx y no es lo mismo que aterrices en un directorio o en otro
-
La segunda me resulta más raro. Pero como te dije….¿donde aterrizas al entrar manualmente con ftp? Donde aterrices manualmente es donde va a hacerlo el ftp de Weewx y no es lo mismo que aterrices en un directorio o en otro
Te identificas Y metes inmediatamente el comando lcd
Te devolverá el directorio de “aterrizaje”
No tengo ni idea de como ni donde ejecutar ese comando lcd
Ya ves, soy un desastre
-
Copia aquí unos de esos ficheros que indicabas al principio….los que terminaban en sh
Quítales las contraseñas y lo que sea delicado
Ahí nos tiene que dar una pista
-
Estos son:
javier@javier-System-Product-Name:~/Documents$ ./miFTP.sh && ./miFTP1.sh && ./miFTP2.sh && ./miFTP3.sh && ./miFTP4.sh && ./miFTP5.sh && ./miFTP6.sh && ./miFTP7.sh && ./miFTP8.sh && ./miFTP9.sh
Para crear un crontab, hay que separar cada archivo con ";" en vez de && que funciona manualmente,
El asunto es que he conseguido crear un "crontab" pero me ha sido imposible concederle los permisos necesarios; de hecho, me pide la contraseña al intentar entrar en la carpeta (por cierto, estoy hasta el gorro de los permisos; ya los odio).
Como alternativa, estoy intentando de la página se actualice cada 5 minutos, editando el fichero "skin.conf" pero, por ahora no funciona.
je je, cuando se tuercen las cosas más vale hacer otra totalmente diferente, para resetear el cacumen .
Disculpa, pero he arrojado la toalla con respecto al skin FTP
Estoy muy muy agradecido por tus continuos y sabios consejos,
Veremos a ver como acaba todo jjjj *-*
Saludos
-
No hombre
Pon el contenido de uno de ellos *+*
-
je je, no te había entendido; te pongo el código dde uno de ellos;
#!/bin/bash
ftp -n ftp.kocher.es <<EOF
user xxxxx yyyy
binary
cd www/weewx/belchertown/
lcd /var/www/html/weewx/belchertown/
mput index.html
cd ..
cd ..
quit
EOF
-
Vale, ahí ya tenemos pistas importantes
Luego te cuento
Ahora, el café es sagrado *+* *+*
-
Perdona.....antes dije comando lcd
era el comando
pwd
Pero bueno, vamos al lío
-
je je, no te había entendido; te pongo el código dde uno de ellos;
#!/bin/bash
ftp -n ftp.kocher.es <<EOF
user xxxxx yyyy
binary
cd www/weewx/belchertown/
lcd /var/www/html/weewx/belchertown/
mput index.html
cd ..
cd ..
quit
EOF
Bien, con esto ya tenemos pistas
ftp -n ftp.kocher.es <<EOF
Ya sabemos el servidor que pondremos en el skin FTP
cd www/weewx/belchertown/
Ya sabemos que en tu script, te situas en el directorio www/weewx/belchertown del servidor.....pero es una dirección relativa. Es decir que antes de esa dirección hay una porción de texto que no se muestra.....pero nos da igual....copiaremos esa dirección relativa.
lcd /var/www/html/weewx/belchertown/
Aqui sin embargo, en el directorio local (desde donde se envían los ficheros) se indica la dirección absoluta.....así que también la copiaremos.
Y aquí puntualizo /var/www/html/weewx es, por defecto, la dirección a la que apunta HTML_ROOT en la instalación de Debian/Ubuntu, así que podríamos indicar como dirección absoluta /var/www/html/weewx/belchertown o como relativa simplemente belchertown. Pondremos un ejemplo para cada uno de ellos.
Y vamos a ello:
Caso 1....con dirección absoluta en el directorio local
[FTP]]
skin = Ftp
enable = tue
user = usuario
password = contraseña
server = ftp.kocher.es
path = www/weewx/belchertown
secure_ftp = False
HTML_ROOT = /var/www/html/weewx/belchertown
port = 21
passive = 1
Caso 2....con dirección relativa en el directorio local
[FTP]]
skin = Ftp
enable = tue
user = usuario
password = contraseña
server = ftp.kocher.es
path = www/weewx/belchertown
secure_ftp = False
HTML_ROOT = belchertown
port = 21
passive = 1
Ambos ejemplos deberían funcionar tras un reinicio de Weewx
-
Ufffffffffffffffffffffffffff
¡ Ahora ha funcionado !
He puesto las siguientes direcciones:
path = www/weewx/belchertown
HML_ROOT = /var/www/html/weewx/belchertown (si pongo belchertown solo, nó funciona)
Increíble jjjjj; no termino de creérmelo
Jantoni; te debo mucho por esto que has hecho.
Mil gracias y enhorabuena :aplaude1:
Un fuerte abrazo y ya sabes donde me tienes
kocher
-
Unos pintxos *+* *+* *+* *+* *+*
Si no funciona solo con HTML_ROOT = belchertown
Posiblemente sea porque entre en conflicto con WEEWX_ROOT......
Pues, ale funcionando.....a disfrutarlo
-
Eso está hecho
Te paso a buscar en moto y nos movemos por San Sebastián para conocer cantidad de "recovecos" jjjj
Sería un placer para mí O:-)