| Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar] |
|
Debian \ Editando el crontab Este artículo ha sido consultado en 1,674 ocasiones. Crontab es un programa que permite ejecutar otros programas o scripts en un lapso de tiempo y una periodicidad especificada por el usuario. Cada usuario del sistema posee un crontab personalizado y sólo el root puede modificar el crontab de otro usuario. Si se desea agregar un crontab es necesario logearse primero como ese usuario. Un usuario sólo puede hacer uso de crontab si su nombre aparece en /etc/cron.allow. Si el archivo no existe el usuario puede usar crontab a menos que su nombre aparezca en /etc/cron.deny. La sintaxis del archivo crontab es muy clara y rígida. Hay seis campos por cada linea, cada campo está separado por un espacio. Los primeros cinco campos específican el momento preciso de ejecución; el sexto campo es el propio comando o script que se ejecutará. Los primeros cinco campos son:
* * * * *
/commando/a/ejecutar Para editar nuestro crontab sólo es necesario ejecutar: $ crontab -e Si es la primera vez que lo ejecutamos veremos un archivo en el editor VI, vacío. Agreguemos la siguiente línea: 45 19 * * * rm /home/newbie/tmp/* esta línea indica que el contenido del directorio /home/newbie/tmp/ será borrado todos los días a las 7:45 PM. Salvemos el archivo y salgamos de VI con :wq, Verá el mensaje: $ crontab -l verá las tareas del crontab, en este caso sólo verá la recién tarea que agregó. La opción $ export EDITOR="nano" (Si desea cambiar de editor de manera permamente, agregue esa línea al archivo $HOME/.bashrc). Típicamente, el cron envía un email de notificación al usuario propietario del cron, esto puede llegar a ser molesto, sobre todo si tenemos un cron que se ejecuta con mucha frecuencia. Para deshabilitar el envio del email agregue lo siguiente al final de cada línea del crontab: >/dev/null 2>&1 Ejemplos * * * * * /sbin/ping -c 1 192.168.0.1 >> /dev/null Este crontab ejecuta el comando ping al equipo 192.168.0.1 cada minuto, de cada hora, de cada dia, de cada mes, es decir, hace un ping cada minuto. 0 20 * 10 1-5 /sbin/ping -c 1 192.168.0.1 >> /dev/null El mismo comando, pero sólo se ejecuta los días laborables de la semana (Lun-Vie) a las 8:00 PM en punto y sólo el mes de octubre. 0 0 1,15,28 * * /home/mmonrdz/scripts/respaldar.py Este crontab ejecuta un script de respaldo en python de lunes a domingo a la medianoche (0:00 AM) los días 1, 15 y 28 de cada mes. ¿Porqué 28 y no 30?, Por febrero ;-) 0,50 7,8 * * 1 /home/mmonrdz/scripts/dbcotiza.pl >/dev/null 2>&1 Ejecuta un script que actualiza la base de datos de cotizaciones todos los lunes a las 7:00 AM, 7:50 AM, 8:00 AM y 8:50 AM sin enviar el email de notificación. Última actualización: 2007-04-29 10:57:00-05 |
| Este trabajo está licenciado bajo la MonoNeurona Commons License. 2002-2008 © :: Colectivo MonoNeurona.org :: |