GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué significa '>/dev/null 2>&1' en este artículo de Crontab Basics?

Esta pregunta ya tiene respuestas aquí :redirigir a /dev/null

(6 respuestas)
Cerrado hace 6 años.

Estoy leyendo un artículo sobre crontab

Hay algo acerca de deshabilitar el envío automático de correos electrónicos.

  1. Desactivar correo electrónico De forma predeterminada, los trabajos cron envían un correo electrónico a la cuenta de usuario que ejecuta el trabajo cron. Si esto no es necesario, coloque el siguiente comando
    al final de la línea de trabajo cron.

    >/dev/null 2>&1
    

¿Cuál es el significado detallado de 2? > & y 1 ? ¿Por qué poner esto al final de un archivo crontab desactivaría el envío de correos electrónicos?

Respuesta aceptada:

> es para redirigir

/dev/null es un agujero negro donde cualquier dato enviado será descartado

2 es el descriptor de archivo para el error estándar

> es para redirigir

& es el símbolo para el descriptor de archivo (sin él, el siguiente 1 sería considerado un nombre de archivo)

1 es el descriptor de archivo para la salida estándar

Por lo tanto >/dev/null 2>&1 redirige la salida de su programa a /dev/null . Incluya tanto el Standard Error y Standard Out .

Hay mucha más información disponible en la página de redirección de E/S de The Linux Documentation Project.

cron solo le enviará un correo electrónico si hay algún resultado de su trabajo. Con todo redirigido a null , no hay salida y por lo tanto cron no le enviará un correo electrónico.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  3. ¿Qué significa esta advertencia?

  4. DD de /dev/zero a /dev/null... lo que realmente sucede

  5. Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

¿Qué significa nulo en Linux y Computación?

¿Qué es '/dev/null 2&1' en Linux?

¿Qué es /dev/null en Linux?

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?

Crear un dispositivo de bloque virtual que escriba en /dev/null