GNU/Linux >> Tutoriels Linux >  >> Linux

Que signifie ‘>/dev/null 2>&1’ dans cet article sur les bases de Crontab ? ?

Cette question a déjà des réponses ici :redirection vers /dev/null

(6 réponses)
Fermé il y a 6 ans.

Je lis un article sur crontab

Il y a quelque chose à propos de la désactivation de l'envoi automatique d'e-mails.

  1. Désactiver les e-mails Par défaut, les tâches cron envoient un e-mail au compte d'utilisateur qui exécute la tâche cron. Si cela n'est pas nécessaire, placez la commande
    suivante à la fin de la ligne de travail cron.

    >/dev/null 2>&1
    

Quelle est la signification détaillée de 2 > & et 1 ? Pourquoi mettre cela à la fin d'un fichier crontab désactiverait l'envoi d'e-mail ?

Réponse acceptée :

> est pour la redirection

/dev/null est un trou noir où toutes les données envoyées seront rejetées

2 est le descripteur de fichier pour l'erreur standard

> est pour la redirection

& est le symbole du descripteur de fichier (sans lui, le 1 suivant serait considéré comme un nom de fichier)

1 est le descripteur de fichier pour Standard Out

Donc >/dev/null 2>&1 redirige la sortie de votre programme vers /dev/null . Inclure à la fois l'Standard Error et Standard Out .

Beaucoup plus d'informations sont disponibles sur la page de redirection d'E/S du Linux Documentation Project.

cron ne vous enverra un e-mail que s'il y a une sortie de votre travail. Avec tout redirigé vers null , il n'y a pas de sortie et donc cron ne vous enverra pas d'e-mail.


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Quand utiliser /dev/random contre /dev/urandom ?

  3. Linux – Que signifie la lettre « u » dans /dev/urandom ?

  4. Que signifie cet avertissement ?

  5. Que signifie - dans cette commande Linux ?

Qu'est-ce que null signifie dans Linux et l'informatique

Qu'est-ce que '/dev/null 2&1' sous Linux

Qu'est-ce que /dev/null sous Linux

Que signifie la lettre « u » dans /dev/urandom ?

echo ou print /dev/stdin /dev/stdout /dev/stderr

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp