2. Un cron es simplemente un programa que permite ejecutar
programas automáticamente en determinado tiempo.
Pasos para empezar a configurar el servicio.
PRIMER MODO:
1) Crearemos un archivo llamado script con la terminación .sh
para poder que este puede ejecutarse. Para crearlo debe de
ejecutar el siguiente comando:
touch script.sh
2) Ahora debemos de abrir ese .sh y realizar los comandos. En mi
caso lo abriré con el nano.
nano script.sh
3. Ahora dentro, la primera línea debemos de copiar este
comando
#!/bin/bash
Después se colocan los comandos que quieres que el servicio
crond ejecute.
Como en ejemplo are un usuario, un grupo, y una carpeta.
Ahora guardamos y cerramos con CRTL + O, ENTER, CTRL + X
3) Ahora debemos de entrar modificar el contrab, con el
siguiente comando entramos.
nano /etc/crontab
4. Una vez dentro debemos de modificamos los patrones de
ejecución. (Minuto Hora DiaDelMes Mes DiaDeLaSemana
Usuario Comando)
En mi caso puse, que se ejecute en el minuto 20 a las 14 horas
(2:20pm)..
y después colocamos la ruta del archivo script.sh, pero como
root como lo muestra la imagen.
Debemos de darle permisos para que se pueda ejecutar.
Chmod 777 script.sh
Chmod rwx script.sh
Y después ejecutamos el comando:
./script.sh
NOTA: para el que no lo note, el principio de este comando es
con un punto.
Y esperamos, el tiempo asignado y listo.
5. Explicación del campo “crontab”
Un asterisco * indicará inicio-fin del campo, es decir todo. Un * en
el campo de minuto indicará todos los minutos.
Ejemplo:
Controlar el acceso al cron
Cron permite controlar que usuarios pueden o no pueden usar los
servicios de cron. Y esto se logra a través de los archivos:
/etc/cron.allow
/etc/cron.deny
Ahora para impedir que un usuario modifique el comando crontab,
basta con agregar al usuario a /etc/cron.deny y para permitir seria
entrarlo a archivo /etc/cron.allow.
#> echo juan >>/etc/cron.allow
#> echo juan >>/etc/cron.deny
#> echo ALL >>/etc/cron.deny (para que todos los usuarios no
puedan acceder al cron )
ejemplo Descripcion
01 * * * * El comando se ejecuta al minuto 1 de cada hora todos los dias.
40 14 * * * El comando se ejecuta a las 2:40 todos los dias.
0 0 19 * Tues El comando se ejecuta todos los martes a las 7:00pm
22 15 3 1 Tues El comando se ejecutara a las 3:22pm el dia 3 de enero que sea martes
Ejemplo Descripcion.
20 * 14-18 3 Al minuto 20de todas las horas, de los días 14al 18del mes de abril se ejecutara el comando
10,20,30 * * * 1,2,3 El comando se ejecuta al minuto 10,20,30de todas las horas de los días lunes, martes y miercoles.
10,20,30 * * * Mon Tue Wed El comando se ejecuta al minuto 10,20,30de todas las horas de los días lunes, martes y miercoles.
*/308-18* * * El comando se ejecuta cada 30minutos de las 8:00a.m. a las 6:00p.m.