Autor Tema: Automatizar FTP con ayuda de CRONTAB algo especial  (Leído 1403 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Automatizar FTP con ayuda de CRONTAB algo especial
« en: 07 de Julio del 2024, 20:10:53 pm »
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

« Última modificación: 07 de Julio del 2024, 20:15:53 pm por kocher »



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #1 en: 07 de Julio del 2024, 20:21:29 pm »
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

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #2 en: 07 de Julio del 2024, 20:26:04 pm »
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


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #3 en: 07 de Julio del 2024, 20:36:03 pm »
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






“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #4 en: 07 de Julio del 2024, 20:42:36 pm »
Los ficheros los genera Weewx?


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #5 en: 07 de Julio del 2024, 20:54:35 pm »
Código: [Seleccionar]
Los ficheros los genera Weewx?
Efectivamente; esos ficheros los creé yo pero, al activarlos, realizan FTP de todos los ficheros locales hasta mi web




“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #6 en: 07 de Julio del 2024, 21:52:08 pm »
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
« Última modificación: 07 de Julio del 2024, 23:48:24 pm por jantoni »

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #7 en: 07 de Julio del 2024, 22:20:41 pm »
Muchas gracias Jantoni

He intentado utilizar el "skin" FTP de weewx, sin resultados

Eres un hacha

Saludos desde San Sebastián





“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #8 en: 08 de Julio del 2024, 00:06:39 am »
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  *+* *+* *+* *+* *+*

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #9 en: 08 de Julio del 2024, 08:53:20 am »
Bueno, aquí tienes la configuración de mi FTP

Manejo dos servidores en la empresa OVH.net

Todo es autoexplicativo.

Código: [Seleccionar]
    [[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.


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #10 en: 08 de Julio del 2024, 09:00:29 am »
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

Código: [Seleccionar]
    [[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

Código: [Seleccionar]
    [[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.
« Última modificación: 08 de Julio del 2024, 09:02:57 am por jantoni »

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.637
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #11 en: 08 de Julio del 2024, 09:02:05 am »
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

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #12 en: 08 de Julio del 2024, 09:37:45 am »
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    :;



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #13 en: 08 de Julio del 2024, 09:51:38 am »
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  :;



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Automatizar FTP con ayuda de CRONTAB algo especial
« Respuesta #14 en: 08 de Julio del 2024, 10:09:53 am »
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




“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-