Où va la sortie des travaux `at` et` cron`?

9

Où la sortie standard atet les crontâches vont-elles, étant donné qu'il n'y a pas d'écran à afficher?

Il n'apparaît pas dans le répertoire à partir duquel les travaux ont commencé, ni dans mon répertoire personnel.

Comment pourrais-je réellement comprendre cela étant donné que je ne sais pas comment déboguer ou tracer un travail en arrière-plan?

Michael Durrant
la source
La sortie est généralement envoyée par e-mail.
donothingsuccess
Je recommande d'utiliser mutt, "un client de messagerie textuel petit mais très puissant", pour lire la sortie. C'est dans les dépôts pour chaque distribution que j'ai utilisée.
kwarrick

Réponses:

10

Depuis la page de manuel de cron:

Lors de l'exécution des commandes, toute sortie est envoyée au propriétaire de la crontab (ou à l'utilisateur nommé dans la variable d'environnement MAILTO dans la crontab, s'il en existe un). Les copies enfants de cron exécutant ces processus ont leur nom contraint en majuscules, comme on le verra dans la sortie syslog et ps.

Vous devriez donc vérifier le courrier de votre / root, ou le syslog (par exemple. / Var / log / syslog).

Jari Laamanen
la source
Sur mon Mac, après avoir simplement appelé "cron", il a affiché le chemin vers "l'e-mail". Dans mon cas, c'était / var / mail / <username>.
Cédric Guillemette
4

Pour les processus de longue durée, il est parfois utile de savoir quel est le résultat avant de recevoir l'e-mail, je l'utilise à la place:

  1. Utilisez pspour trouver l'ID de processus de votre programme en cours d'exécution ( PID ci-dessous);
  2. Utilisez lsofpour trouver le fichier dans lequel la sortie est écrite:

    lsof -p PID
    

Dans la sortie, recherchez les lignes 1uet 2usous l'en FD-tête de colonne.

Ces lignes vous indiqueront dans quels fichiers temporaires la sortie du processus va avant d'être envoyée par courrier. En règle générale, pour at, le fichier se trouve sous /var/spool/cron/atjobs/. Enfin, affichez ce fichier et vous trouverez la sortie (actuelle) de votre processus.

Gabriel G
la source
les fichiers sous 1uet 2usont de type UNIX. Je suppose que ce sont des sockets UNIX. Comment puis-je consulter les fichiers maintenant?
kapad