De onde vem a saída dos trabalhos 'at' e 'cron'?

8

De onde sai a saída padrão das tarefas at e cron , dado não há tela para exibir?

Não está aparecendo no diretório em que os trabalhos foram iniciados, nem em meu diretório pessoal.

Como eu poderia realmente descobrir isso, porque eu não sei como depurar ou rastrear um trabalho em segundo plano?

    
por Michael Durrant 12.06.2012 / 21:07

2 respostas

10

Da página do manual do cron:

When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if such exists). The children copies of cron running these processes have their name coerced to uppercase, as will be seen in the syslog and ps output.

Portanto, você deve checar o e-mail de / root ou o syslog (por exemplo, / var / log / syslog).

    
por 12.06.2012 / 21:25
4

Para processos de longa duração, às vezes é útil saber o que saída é antes de você receber o e-mail, eu uso isso em vez disso:

  1. Use ps para encontrar o ID do processo do seu programa em execução ( PID abaixo);
  2. use lsof para encontrar o arquivo no qual a saída está sendo gravada:

    lsof -p PID
    

Na saída, procure as linhas 1u e 2u no cabeçalho da coluna FD .

Estas linhas informam quais arquivos temporários a saída do processo é entrando antes de ser enviado pelo correio. Normalmente, para at , o arquivo é localizado em /var/spool/cron/atjobs/ . Finalmente, exiba esse arquivo e você encontrará a saída do seu processo (atual).

    
por 30.11.2016 / 20:47

Tags