Make your own free website on Tripod.com

Linux

Comandos at y crontab
Principal | E/S Sistema | Estructura de Ficheros | Comandos man e info | Terminales virtuales | Usuarios y Permisos | Interpretes de comandos | Variables de entorno | FSSTND | Algunos ficheros de /etc | Comandos at y crontab

Los comandos AT y CRONTAB

Los comandos at y crontab sirven para ejecutar comandos (programas) sin tener necesidad de recordarlos.

El comando AT

El comando at es para ejecutar un comando a una fecha y hora especificada. Si, por ejemplo, vas a dejar el ordenador encendido, realizando una tarea, y quieres que luego realice una copia de seguridad, y después se apague, pero no vas a estar delante del ordenador: se podría aplicar una serie de comandos at para que el sistema lo haga cuando ya no estés delante.

El comando at tiene la siguiente sintaxis:
at [hora] [fecha]

El comando at entonces se queda esperando a que el usuario introduzca la serie de comandos que se quiere ejecutar ese día y hora. Para terminar de introducir comandos, hay que pulsar la combinación de teclas <CTRL+D>.

El comando at acepta horas con formato HH:MM para ejecutar un trabajo a una determinada hora del día. (Si esa hora ya ha pasado, se asume que es del día siguiente.) Y fechas con el formato MMDDAA o MM/DD/AA o DD.MM.AA.

Aquí tenemos un ejemplo de un comando at:
[root@localhost root]# at 1700 7.7
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> echo "Acuérdate del cumpleaños de tu hermano!" > ~/recordatorio.txt
at> <CTRL+D>
job 1 at 2002-07-07 17:00
[root@localhost root]# _

Lo que hará este ejemplo es crear un fichero en el directorio inicial del usuario que contenga el texto "Acuérdate del cumpleaños de tu hermano!" . Esto pasará el siete de julio a las cinco de la tarde, como se ha especificado en el comando at.

El comando CRONTAB

El comando crontab se emplea para facilitar la información al demonio cron de los programas que hay programados para ser ejecutados. Por medio de crontab podemos planificar la ejecucuón de comandos con cierta periodicidad. Este comando utiliza el demonio cron que debe estar en ejecución si queremos que funcione correctamente el comando crontab. Existe un fichero crontab para cada usuario, donde se especifican los comandos que esos usuarios quieren que se ejecuten.

En el archivo crontab se encuentran las órdenes a ejecutar de forma periódica. Las órdenes se disponen en líneas con el formato:
minuto hora día mes día_semana comando

No se tienen en cuenta las líneas en blanco y las líneas que comiencen por # se consideran comentarios, y se ignorarán. El significado de los campos es el siguiente:

  • minuto: especifica el minuto dentro de una hora (0-59)
  • hora: especifica la hora dentro de un día (0-23)
  • día: especifica el día dentro del mes (1-31)
  • mes: especifica el mes dentro del año (1-12)
  • día_semana: especifica el día de la semana (0-6, siendo el domingo el 0)
  • comando: especifica el comando a ejecutar
Un asterisco * en alguno de los campos se entenderá como todos los valores posibles, así un * en el campo mes se entenderá como todos los valores posibles, un * en el campo mes se entenderá como que el comando se ejecuta todos los meses en el momento indicado en el resto de campos.

Ejemplos de líneas del archivo crontab:
0 * * * * sync

Esto ejecutará el comando sync cada hora un el primer minuto.

0 23 10 * * sync

Esto ejecutará el comando sync todos los días 10 de cada mes a las 11:00 de la noche.

* Profesor Fernando Guerrero *
e-mail: perito.informatica@gmail.com