SSH - Tareas programadas

Procédure

SSH - Tareas programadas

Gran parte de la administración del sistema se puede automatizar a través de scripts Perl, o scripts de shell que se ejecutan a intervalos regulares. Por ejemplo, usted podría tener un script para comprobar que su disco no está lleno que se ejecuta una vez por hora para hacerle saber si hay algún problema. El mecanismo más común para programar órdenes en sistemas Linux es el paquete cron.

En Debian, el paquete cron forma parte del sistema base y se ejecuta por defecto.

Cron se suministra con Debian con dos propósitos:

  • Ejecutar tareas del sistema de forma diaria/semanal/mensual.

  • Permitir a los usuarios configurar sus propias tareas programadas.


El paquete Cron crea automáticamente los siguientes directorios:

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly


Aparte del primero, que es especial, estos directorios permiten programar tareas para todo el sistema de forma sencilla. Cualquier script colocado dentro de ellos se ejecutará con la frecuencia que su nombre indica.

Por ejemplo, si colocas un script dentro de /etc/cron.daily se ejecutará una vez al día, todos los días.

Estos directorios son útiles en algunos casos, pero si necesitas ajustar más los tiempos de ejecución, puedes hacerlo editando el archivo /etc/crontab, que explicaremos a continuación:

La forma normal en que la gente utiliza cron es a través del comando crontab. Esto le permite ver o editar su archivo crontab, que es un archivo por usuario que contiene entradas que describen los comandos a ejecutar y el tiempo para ejecutarlos.

Para mostrar su archivo ejecute el siguiente comando:

crontab -l


El usuario root puede ver el archivo crontab de cualquier usuario añadiendo -u nombredeusuario, por ejemplo :

crontab -u nombredeusuario -l


El formato de estos archivos es bastante sencillo de entender. Cada línea es una colección de seis campos separados por espacios.

Los campos son :

  1. El número de minutos después de la hora (de 0 a 59)

  2. La hora en formato militar (24 horas) (0 a 23)

  3. El día del mes (1 a 31).

  4. El mes (1 a 12).

  5. El día de la semana (0 ó 7).

  6. El comando a ejecutar.


Tendrían el siguiente aspecto

* * * * Comando a ejecutar - - - - - | | | | | | +-----> El día de la semana (0-7) | | +-----------> El mes (1 - 12) | +-----------------> El día del mes (1 - 31) | +-----------------------> La hora (0 - 23) +-----------------------------> Los minutos (0 - 59)

(Cada uno de los cinco primeros campos contiene sólo números, pero pueden dejarse como * para indicar que cualquier valor es aceptable).


Ahora que hemos visto la estructura deberíamos intentar ejecutar un par de ejemplos:

Edita tu archivo crontab:

crontab -e


Esto ejecutará su editor predeterminado en su archivo crontab (creándolo si es necesario). Cuando guardes el archivo y salgas de tu editor, tu crontab se instalará en el sistema a menos que tenga errores.

El editor por defecto es nano

Introduzca el siguiente texto:

0 * * * * /bin/ls > /var/log/ls.log


Cuando haya guardado el archivo y salido de su editor verá un mensaje como :

crontab: instalando nuevo crontab


Puede comprobar que el archivo contiene lo que espera con

crontab -l


Aquí le hemos dicho a Cron que ejecute el comando /bin/ls y redirija la salida del comando al archivo /var/log/ls.log cada vez que el minuto sea igual a 0, es decir, ejecutará el comando a la hora, cada hora.

Otros ejemplos:

Ejecutar el comando "noche" diez minutos después de medianoche, todos los días

10 0 * * * /bin/noche


Ejecutar el comando "lunes" todos los lunes a las 2 de la madrugada

0 2 * * 1 /usr/local/bin/lundi


Si quieres ejecutar algo con mucha regularidad, puedes utilizar una sintaxis diferente: en lugar de utilizar sólo números, puedes utilizar rangos o conjuntos.

Una serie de números indica que cada punto de este rango estará disponible, de modo que si utilizas la siguiente línea, ejecutarás un comando a la 1 en punto, a las 2 en punto, a las 3 en punto y a las 4 en punto:

* 1-4 * * * /bin/command


Un set es similar, consiste en un conjunto de números separados por comas, cada elemento de la lista será emparejado. El ejemplo anterior se ve así usando conjuntos:

* 1,2,3,4 * * /bin/command

Valora este artículo :

5/5 | 2 opinión

Este artículo le ha sido útil ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artículos similares

2mn lectura

¿Cómo configuro el cortafuegos en un servidor VPS dedicado?

1mn lectura

¿Cómo puedo conectarme como root en un servidor VPS dedicado con Putty?

0mn lectura

Comandos SSH de Linux / Debian

0mn lectura

SSH - Comando Apt-get: Instalación y desinstalación de paquetes


Formule una pregunta al equipo de LWS y a su comunidad