cron - screen não funciona se tiver um comando para executar

0

Se eu definir um trabalho cron como abaixo, tudo funciona: a nova sessão de tela é iniciada e eu posso acessá-la mais tarde.

* * * * * screen -d -m -S test

Mas se a entrada cron for a seguinte, a sessão de tela não será iniciada ou, pelo menos, não será recuperável ( screen -ls não a encontra).

* * * * * screen -d -m -S test date
* * * * * screen -d -m -S test bash -c “date”

Se eu executar qualquer um dos itens acima, diretamente da linha de comando, tudo funcionará como esperado.
Mas eu tentei qualquer combinação de comandos que eu pudesse pensar e nenhum funcionou, então eu claramente sinto falta de algo.

    
por nxet 17.03.2018 / 20:53

2 respostas

2

Você não pode se conectar novamente à sessão screen iniciada porque ela já foi encerrada. Quando você der um comando para screen , ele executará esse comando e sairá imediatamente.

    
por 13.04.2018 / 12:44
-2

As telas são por usuário. Crons são tarefas agendadas em segundo plano. Se você precisa saber a saída de um determinado cron, é melhor enviar um arquivo para um arquivo ou dizer para ele enviar um e-mail para você.

Botar para executar uma sessão de tela não é realmente o que isso significa para o IMO.

    
por 18.03.2018 / 01:43