Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > Programación y Scripts > Scripts


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Ayuda: hacer que un script se ejecute sólo una vez al día
  #1  
Antiguo 10-mar-2014, 13:11
J_VM J_VM esta en línea ahora
Habitual
 
Fecha de Ingreso: 22-septiembre-2013
Versión: Tumbleweed
Mensajes: 244
Agradecimientos: 32
Agradecido 23 Veces en 21 Mensajes
Poder de Credibilidad: 6
J_VM está en el buen camino
Ayuda: hacer que un script se ejecute sólo una vez al día

Hola,

Llevo un tiempo queriendo hacer un script en bash que me ayude a realizar una tarea 1 vez al día. Os explico mi problema:

Lo que quiero es generarme un ebook de feeds con el programa calibre y mandarmelo por email al kindle. Eso lo consigo hacer bien, pero claro, quiero que me genere 1 ebook al día, dándome igual la hora (cuando encienda el ordenador). Pero en crontab no soy capaz de decirle que lo haga solo una vez por día, sino que tienes que ponerle a qué hora quieres que se ejecute. Pero claro, como yo tenga el ordenador apagado a esa hora, ya ese día no me lo manda.

Me busqué un poco la vida e hice este script y puse en crontab que se ejecute cada vez que enciendo el ordenador:

Código:
 
#!/bin/bash
cd [directorio donde está el script]
read -N 8 fecha < HOY.txt
if [ $fecha != $(date +%Y%m%d) ]; then
  rm HOY.txt
  fecha=$(date +%Y%m%d) 
  echo $fecha >> HOY.txt
  ebook-convert [directorio de la receta de CALIBRE] [Directorio donde guardo el ebook]/HOY.mobi
  calibre-smtp -a [Directorio donde guardo el ebook]/HOY.mobi ******@***.com *********@free.kindle.com ""

fi
Sin embargo, en el kindle recibo el ebook varias veces (dos o tres), y no sé por qué. La idea del script es que compare con el contenido del archivo txt el día, y si es distinto del día actual, entonces borra el txt y lo crea con la fecha actual, y hace el ebook y lo manda. Mientras esté en el mismo día no hace nada. ¿Dónde creeis que está mi error?

Muchas gracias
Responder Citando
  #2  
Antiguo 10-mar-2014, 15:55
Avatar de maniat1k
maniat1k maniat1k está desconectado
Miembro Senior
 
Fecha de Ingreso: 26-abril-2011
Ubicación: Mdeo, Uy
Versión: Leap
Mensajes: 1.234
Agradecimientos: 172
Agradecido 254 Veces en 190 Mensajes
Poder de Credibilidad: 9
maniat1k está en el buen camino
Agrega como lo pusiste en el crontab. Y fíjate si en verdad corre una vez sola el crontab. ( cat /var/log/messages | grep crontab )

saludos!
Responder Citando
  #3  
Antiguo 10-mar-2014, 18:51
J_VM J_VM esta en línea ahora
Habitual
 
Fecha de Ingreso: 22-septiembre-2013
Versión: Tumbleweed
Mensajes: 244
Agradecimientos: 32
Agradecido 23 Veces en 21 Mensajes
Poder de Credibilidad: 6
J_VM está en el buen camino
Cuando escribo ese código, cat /var/log/messages | grep crontab no me sale nada, como si no hubiera de crontab en var/log/messages.

En crontab puse "Activar esta tarea" y "Ejecutar al iniciar el sistema". La idea es que si he encendido el ordenador varias veces con el script que hice no debería volverse a crear el ebook y mandarlo por correo...

Curiosamente las fechas de envío son de 10 minutos de difierencia y cosa así, así que no es porque lo haya encendido varias veces en el día..
Responder Citando
  #4  
Antiguo 10-mar-2014, 19:32
Avatar de maniat1k
maniat1k maniat1k está desconectado
Miembro Senior
 
Fecha de Ingreso: 26-abril-2011
Ubicación: Mdeo, Uy
Versión: Leap
Mensajes: 1.234
Agradecimientos: 172
Agradecido 254 Veces en 190 Mensajes
Poder de Credibilidad: 9
maniat1k está en el buen camino
Cita:
Iniciado por J_VM Ver Mensaje
Cuando escribo ese código, cat /var/log/messages | grep crontab no me sale nada, como si no hubiera de crontab en var/log/messages.

En crontab puse "Activar esta tarea" y "Ejecutar al iniciar el sistema". La idea es que si he encendido el ordenador varias veces con el script que hice no debería volverse a crear el ebook y mandarlo por correo...

Curiosamente las fechas de envío son de 10 minutos de difierencia y cosa así, así que no es porque lo haya encendido varias veces en el día..
Lo que te decía era ver como estaba anotado el script en el crontab...

si pones crontab -l ¿que aparece?

como por ejemplo:
Código:
crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.NpiHo0 installed on Wed Jan 29 09:24:18 2014)
# (Cronie version 4.2)
 
 0 1 * * * /root/bin/script01
0  1  * * * /root/bin/script02
 0  2 10 * * /root/bin/script03
 30 2 10 * * /root/bin/script04
... no entiendo como editas el crontab... yo lo hago por consola: como root pongo crontab -e

leete esto: http://www.thegeekstuff.com/2009/06/...ntab-examples/


saludos!

Última edición por maniat1k; 10-mar-2014 a las 19:34 Razón: un ejemplo
Responder Citando
  #5  
Antiguo 11-mar-2014, 01:51
J_VM J_VM esta en línea ahora
Habitual
 
Fecha de Ingreso: 22-septiembre-2013
Versión: Tumbleweed
Mensajes: 244
Agradecimientos: 32
Agradecido 23 Veces en 21 Mensajes
Poder de Credibilidad: 6
J_VM está en el buen camino
Código:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/kde-javier/kcmshellJH8959.tmp installed on Fri Jan 17 18:42:46 2014)
# (Cronie version 4.2)
#Crea el periodico HOY para mi Kindle
@reboot "/home/javier/Biblioteca de calibre/HOY"

#Crea mis noticias RSS sobre FÃ*sica para mi Kindle
@reboot "/home/javier/Biblioteca de calibre/Fisica"


# Archivo generado con KCron el Viernes, 17 de enero de 2014 18:42.
Perdona, esa es la salida. Gracias por el link, parece una web con muchos consejos / trucos sobre linux! pero para lo del crontab creo que no me ayuda, ya que el @daily lo que hace es ejecutarse a las 12 de la noche y si a esa hora no tengo encendido el ordenador entonces no se ejecuta...
Responder Citando
Respuesta

Marcadores

Etiquetas
bash, calibre, script


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Un poquito de ayuda para ALSA Information Script v 0.4.61 soyasi Hardware 2 15-feb-2013 23:44
Parar e iniciar servicios en linux ubaloie FAQs, Manuales y Tutoriales 1 26-may-2006 07:31
Ayuda para hacer una web ktux Software 3 03-feb-2006 03:38
Usuario que ejecute script de root impala Software 1 09-dic-2005 13:19
Como recibir ayuda y hacer preguntas DiabloRojo FAQs, Manuales y Tutoriales 2 10-ago-2005 19:51



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 19:52.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba