Establecer un trabajo Cron en un servidor con Linux (ubuntu)

21 de Feb, 2017

Establecer un trabajo Cron en un servidor con Linux (ubuntu)
4 (80%) 2 votes

Tenemos como ejemplo establecer un trabajo Cron en un servidor con linux

En primera instancia debemos saber que archivo vamos a ejecutar y darle permisos de ejecución, supongamos que el archivo es “loadMon” y se encuentra en “/home/username/loadMon,” es un archivo de ejecución bash en linux.

Nuestro primer paso es darle permisos de ejecución, para ello vamos al shell y ejecutamos

$ sudo chmod +x /home/username/loadMon

Luego entramos en la consola de root con

$ sudo su

Seguidamente listaremos los trabajos crons existentes con

$ crontab -l

Nos debe dar una respuesta como a continuación

$ crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

30 22 * * * /usr/bin/php /home/cronjobs/try.php

0 20,21,22 * * * /usr/bin/php /home/cronjobs/downthefile.php

Ya sabemos que existen dos trabajos establecidos para este servidor y son de PHP ejecutando archivos php.

Procedemos a Editar nuestro trabajo cron

$ crontab -e

Si es la primera vez que editamos nos pedirá seleccionar nuestro editor por defecto, nano es la opción más sencilla.

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        ---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [2]:

Nos abrira el editor y procedemos a agregar nuestra linea

*/5 * * * * bash /home/username/loadMon

Con esto le estamos diciendo al sistema que ejecute cada 5 minutos el bash loadMon en /home/username

Guardamos

y hacemos un reset del cron

$ /etc/init.d/cron restart

Si volvemos a listar con crontab -l podremos ver como ya se encontrará nuestro cron ejecutado.

Para más información sobre como calcular los tiempos, existen varios generadores de cron en la red, solo es cuestion de buscarlos.