Cronjobs con Raspberry Pi

¡Hola!

Si quieres realizar tareas programadas o cronjobs en tu Raspberry Pi, si no tienes el paquete gnome-schedule instalado lo primero que haremos es instalarlo con el siguiente comando:

sudo apt-get install gnome-schedule

Para programar los trabajos o editarlos, deberás editar la tabla cron, para abrirla, ejecuta:

crontab -e

Si es la primera vez que lo ejecutas te preguntará con qué editor quieres modificarla:

pi@raspberrypi:~ $ crontab -e
no crontab for pi – using an empty one

Select an editor. To change later, run ‘select-editor’.
1. /bin/ed
2. /bin/nano <---- easiest 3. /usr/bin/vim.tiny

Nosotros hemos elegido el 2, nano.

Y cómo se programa?

Como la tabla dice:

# m h dom mon dow command

# * * * * *  command to execute
# ┬ ┬ ┬ ┬ ┬
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
# │ │ │ └────────── month (1 - 12)
# │ │ └─────────────── day of month (1 - 31)
# │ └──────────────────── hour (0 - 23)
# └───────────────────────── min (0 - 59)

Simplemente:

Yo quiero que ejecute este Script php:
/home/pi/CronScript/script-ekiketa.php

Cada 3 días a las 16:40 de la tarde… por ejemplo.

Con lo que el comando quedaría así:

40 16 */3 * * php /home/pi/CronScript/script-ekiketa.php

En en principio nos debería de funcionar, sino, podemos probar a añadirle la ruta absoluta de php: «/usr/bin/php».

Quedaría algo así:

40 16 */3 * * /usr/bin/php /home/pi/CronScript/script-ekiketa.php

Añado esa linea al archivo anterior, y cierro el editor.
Nos saldrá un texto pafecido a:

crontab: installing new crontab

Y a funcionar 🙂

Bonusss:

Si queremos ver la tabla de crons que tenemos programados ejecutaremos:

crontab -l

Y… si por ejemplo queremos ejecutar un scropt Python por ejemplo siempre que reiniciamos/arrancamos nuestra Raspberry:

@reboot python /home/CronScript/script_reinicio.py &

(Con & si queremos que se ejecute en segundo plano)


Si tenemos problemas de ejecución podemos darle permisos de ejecución al script con:

chmod +x /home/pi/CronScript/script-ekiketa.php

Puede que en la consola (despues de introcucir cualquier comando) te aparezca:

Tiene correo nuevo en /var/mail/pi

Podemos ejecutar para leer lo que el Cron ha hecho:

cat /var/mail/pi 

:*


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

¿Eres programador/a?

En Pulpo están buscando nuevos talentos, envíales un email a developers@pulpoapp.com.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*