Por que o cron adiciona o ponto de interrogação após o nome do arquivo de log

1

Eu criei a tarefa cron usando o crontab, mas recebo um ponto de interrogação no final do nome do arquivo de log.

*/4 * * * * /usr/bin/php /path_to_cron/queue.php > /path_to_log_file/queue.txt

Existe alguma maneira de ler sobre isso? O arquivo criado tem um ponto de interrogação no final. queue.txt?

Eu tentei mudar o editor do cron, mas isso não ajuda

Eu posso ver por crontab -l | cat -tve que após cada tarefa há ^M$ após o nome do arquivo de log.

    
por Fury 23.11.2015 / 17:59

2 respostas

1

Como o stevieb sugeriu no comentário acima, você parece ter um retorno de carro no final da sua linha de crontab.

Aqui está uma receita para se livrar dele usando o editor vi. O seguinte comando irá abrir o crontab para edição no vi:

VISUAL=$(which vi) EDITOR=$(which vi) crontab -e

Agora insira :%s/\r$// e pressione Enter. Isso deve remover todos os caracteres de retorno de carro nas extremidades da linha. Em seguida, insira :wq , novamente seguido pressionando Enter. Isso deve salvar o crontab e sair do editor.

    
por Chriki 23.11.2015 / 23:18
0

Isso funcionou para mim.

  

O ^M que você está vendo é um retorno de carro extra da Microsoft   Formato do Windows. Você pode se livrar dele convertendo o carro   retornar caracteres do DOS para o formato Unix usando dos2unix utility.

     

Veja um exemplo que converte todos os crontabs do usuário:

sudo dos2unix /var/spool/cron/crontabs/*

Referência

    
por Fury 24.11.2015 / 10:45