GNU/Linux >> Tutoriales Linux >  >> Linux

6 ejemplos de comandos crontab de Linux

El comando crontab administra la tabla cron que utiliza el demonio cron para ejecutar los trabajos cron. Este artículo explica las diversas opciones de la línea de comandos del comando crontab.

1. Ajustando Crontab de otros usuarios usando la opción -u

-u significa usuario. Esto debe ir seguido de un nombre de usuario válido en el sistema. La opción -u sola no hace nada. Debe combinarse con otras opciones. En realidad, se puede combinar con cualquier otra opción de línea de comandos de crontab.

Si no especifica -u nombre de usuario, los comandos crontab se ejecutarán en el usuario actual. Por ejemplo, todos los siguientes comandos crontab se ejecutarán en el usuario conectado actual.

crontab -l
crontab -e
crontab -r
..

Si especifica -u nombre de usuario, el comando crontab se ejecutará en el nombre de usuario dado. Por ejemplo, todos los siguientes comandos crontab se ejecutarán en el usuario de Oracle.

crontab -u oracle -l
crontab -u oracle -e
crontab -u oracle -r
..

2. Muestre la tabla Cron usando la opción -l

-l significa lista. Esto muestra el crontab del usuario actual. Dado que inicié sesión como root, esto mostrará los trabajos cron del usuario root.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup

Para mostrar los trabajos cron de otros usuarios, combine la opción -l con -u.

# crontab -u oracle -l
01 00 * * * /bin/sh /home/oracle/bin/rman-backup

Los 15 ejemplos de crontab explican formas prácticas de usar las entradas de trabajos cron.

3. Edite la tabla Cron usando la opción -e

-e significa editar. Esto le permite editar el crontab del usuario actual. Dado que inicié sesión como root, esto abrirá automáticamente los trabajos cron de root en un editor de Vim y me permitirá editarlo.

# crontab -e
53 00 * * 7 /bin/sh /home/root/bin/server-backup
~
~
/tmp/crontab.7dgqju

Como notará en lo anterior, /tmp/crontab.7dgqju es un archivo temporal creado automáticamente por crontab donde puede editar sus trabajos cron.

Cuando guarde sus ediciones y salga del editor de Vim, se mostrará uno de los siguientes mensajes, dependiendo de si realizó algún cambio o no.

# crontab -e
crontab: no changes made to crontab

# crontab -e
crontab: installing new crontab

Nota:El editor que utiliza crontab para abrir los trabajos cron para su edición depende de la variable de entorno VISUAL o EDITOR. De forma predeterminada, utilizará el editor Vim en el entorno Linux. Pero puede cambiarlo usando la variable de entorno VISUAL/EDITOR.

Para editar los trabajos cron de otros usuarios, combine -e con la opción -u.

# crontab -u oracle -e
crontab: installing new crontab

Para comprender el significado de las entradas crontab en sí, consulte Cómo ejecutar un trabajo cron cada 5 minutos (o horas, días o meses).

4. Cargar crontab desde un archivo

En lugar de editar manualmente el crontab para agregar nuevos trabajos, también puede cargar todos los trabajos cron desde un archivo. Esto es útil cuando tiene que mantener muchos servidores que tienen las mismas entradas de trabajos cron.

En el siguiente ejemplo, todos los trabajos cron están en el archivo /home/root/mycronjobs.txt.

# cat /home/root/mycronjobs.txt
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

Para cargar los trabajos de mycronjobs.txt al crontab del usuario actual, haga lo siguiente:

# crontab /home/root/mycronjobs.txt

Valide para asegurarse de que los trabajos cron se carguen correctamente.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

Nota:tenga cuidado al usar este método de carga, ya que borrará todas las entradas de trabajos cron actuales antes de cargar las nuevas.

Para cargar el trabajo cron desde un archivo a otro usuario, combínelo con la opción -u.

# crontab -u oracle /home/oracle/mycronjobs.txt

5. Agregue la seguridad de SELinux usando la opción -s

-s significa SELinux. Esto agregará la variable MLS_LEVEL al crontab que contiene el contexto de seguridad actual de SELinux.

Para usar la opción -s, debe cargar los trabajos cron desde un archivo.

# cat /home/root/mycronjobs.txt
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

# crontab -s /home/root/mycronjobs/my.txt
SELINUX_ROLE_TYPE=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

Dependiendo de su sistema, lo anterior agregará la variable SELUNUX_ROLE_TYPE o la variable MLS_LEVEL que contiene la cadena de contexto de seguridad de SELinux. Si no está utilizando SELinux en su entorno, no se preocupe por lo que hace esta opción. SELinux es un tema de discusión aparte, que podríamos cubrir en detalle en futuros artículos.

6. Eliminar todos los trabajos cron usando la opción -r

-r significa eliminar. Esto eliminará todas las entradas de trabajo cron del usuario actual como se muestra a continuación.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

# crontab -r

# crontab -l
no crontab for root

-i significa modo interactivo. Combinar -i con -r le pedirá una confirmación antes de eliminar todas las entradas de crontab.

# crontab -ir
crontab: really delete root's crontab? n

Para eliminar los trabajos cron de otros usuarios, combine la opción -r con -u.

# crontab -u oracle -l
01 00 * * * /bin/sh /home/oracle/bin/rman-backup

# crontab -u oracle -r

# crontab -u oracle -l
no crontab for oracle

Linux
  1. Ejemplos de comandos sa en Linux

  2. w Ejemplos de comandos en Linux

  3. Ejemplos de comandos ac en Linux

  4. Ejemplos de comandos df en Linux

  5. Ejemplos de comandos du en Linux

9 ejemplos de comandos tee en Linux

9 ejemplos de comandos diff en Linux

Comando ip de Linux con ejemplos

15 comandos ps de Linux con ejemplos

8 ejemplos de comandos LDD en Linux

Ejemplos de comandos id en Linux