cronjob não redireciona a saída do comando quando usado com a opção

0

Não consigo redirecionar a saída do comando para um arquivo quando ele é executado com o cronjob

[root@mail /]# crontab -l  
*/1   *   *     *   *    /sbin/ausearch -i  >  /rummy

[root@mail /]# cat /rummy

É estranho que, quando eu não der a opção -i , eu possa redirecioná-lo muito bem.

[root@mail /]# crontab -l  
*/1 *   *   *   *   /sbin/ausearch > /rummy

[root@mail /]# cat /rummy  
usage: ausearch [options]
    -a,--event <Audit event id> search based on audit event id  
    --arch <CPU>            search based on the CPU architecture  
    -c,--comm  <Comm name>      search based on command line name  
    -  
    -  
    -  

Existe algum erro de sintaxe ou estou perdendo alguma coisa aqui?

Nota - "ausearch -i" me pega abaixo da saída no terminal e ao redirecionar a saída para o arquivo, ele a redireciona como está.

    [root@server ~]# ausearch -i  
type=DAEMON_START msg=audit(05/22/2017 11:14:10.391:6858) : auditd                     start, ver=2.4.5 format=raw kernel=2.6.32-696.el6.x86_64 auid=unset pid=1319 subj=system_u:system_r:auditd_t:s0 res=success 
----
type=CONFIG_CHANGE msg=audit(05/22/2017 11:14:10.519:5) : audit_backlog_limit=320 old=64 auid=unset ses=unset subj=system_u:system_r:auditctl_t:s0 res=yes 
----
type=USER_ACCT msg=audit(05/22/2017 11:20:01.108:6) : user pid=2073 uid=root auid=unset ses=unset subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:accounting acct=root exe=/usr/sbin/crond hostname=? addr=? terminal=cron res=success' 
----
type=CRED_ACQ msg=audit(05/22/2017 11:20:01.108:7) : user pid=2073 uid=root auid=unset ses=unset subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:setcred acct=root exe=/usr/sbin/crond hostname=? addr=? terminal=cron res=success' 
----
type=LOGIN msg=audit(05/22/2017 11:20:01.119:8) : pid=2073 uid=root subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old auid=unset new auid=root old ses=unset new ses=1 
----
    
por Jack Watson 04.06.2017 / 07:33

1 resposta

0

O comando não produz saída, mas executa ok.

Você pode ver isso porque o arquivo rummy foi criado.

O utilitário ausearch parece esperar uma "pesquisa critérios ", e a saída vazia pode ser devido a você não fornecer um.

Veja o manual ausearch em seu sistema para mais informações.

Depois de ler um pouco do manual ausearch , encontrei o seguinte:

--input-logs
Use the log file location from auditd.conf as input for searching. This is needed if you are using ausearch from a cron job.

Fazer algumas pesquisas no Google confirma que isso, na verdade, pode ser o problema. Um e-mail descreve o problema :

You need to use the --input-logs option. If ausearch sees stdin as a pipe, it assumes that is where it gets its data from. The input logs option tells it to ignore the fact that stdin is a pipe and process the logs. Aureport has the same problem and option to fix it.

This was fixed in the 1.6.7 general release and backported to the 1.6.5 RHEL5 release.

Também parece haver usuários que não resolvem isso usando --input-logs , mas não está claro o que mais pode estar errado, já que nunca há acompanhamento deles.

    
por 04.06.2017 / 08:34