lunes, 8 de enero de 2018

Crontab en Ubuntu

Ahora que ya sabemos:

  • crear un jar en Maven
  • localizar recursos dentro de la carpeta donde se encuentra el jar
Podemos realizar un crontab en Ubuntu para que se pueda ejecutar un proceso cada cierto tiempo.


1. Ver los procesos que tenemos programados

crontab -l

Se puede ejecutar como sudo para ver si el administrador ha programado algo. Se ejecuta desde la consola.

2. Editar / crear procesos


crontab -e

Con ello nos pide un editor por omisión, que será mejor utilizar el nano.

Pero con el nano podemos tener algún problemilla si lo utilizamos poco. Por tanto es conveniente copiar le contenido que nos muestra la consola y ejecutamos gedit que es mas fácil y cuando hayamos terminado, copiamos a nano lo que hemos hecho. Con Mayúscula Control o guardamos. Si no queremos guardar Mayúscula Control x.

3. Formato del fichero

Normalmente hay 5 campos para definir fecha y hora (separados por un espacio en blanco) junto con el comando a ejecutar. en concreto los cinco campos de tiempo son:
  • minuto
  • hora
  • día del mes
  • mes
  • dia de la semana
Si hay algún campo que no nos sirve se coloca un asterisco "*".

Se puede colocar un signo menos para indicar un intervalo. Por ejemplo "1-5" en primer campo indica que se repite el comando cada minuto pero solo entre en primer y quito minuto. Si ese mismo valor lo colocamos en día de la semana indica que se ejecutaría de lunes a viernes.

En nuestro caso concreto queremos ejecutar un jar cuya ubicación absoluta es: /home/ximo/misjars/jar01.jar 

Pero queremos ejecutarlo con java 9 y nosotros tenemos por omisión java 8. Para ello tenemos que darle la ruta absoluta del ejecutable de java 9 que en mi caso es:

/usr/lib/jvm/java-9-oracle/bin/java

Si queremos ejecutar el jar de lunes a viernes todas las horas desde las 8 hasta las 16 horas quedaría:



00 08-16 * * 1-5 /usr/lib/jvm/java-9-oracle/bin/java -jar /home/ximo/misjars/jar01.jar


Si queremos ejecutar el jar cada 10 minutos de lunes a viernes todas las horas desde las 8 hasta las 16 horas quedaría: (ver The Geek Stuff).


*/10
00 08-16 * * 1-5 /usr/lib/jvm/java-9-oracle/bin/java -jar /home/ximo/misjars/jar01.jar

No hay comentarios :

Publicar un comentario