Paciência é uma virtude.
Para iniciantes, o arquivo de log é criado primeiro, antes mesmo de o script começar a ser executado e gerar a saída.
Em segundo lugar no Linux, quando a saída padrão é redirecionada para algo diferente de um TTY (uma janela de terminal), a saída será totalmente armazenada em buffer por padrão, em vez da linha em buffer.
Como você também redireciona o erro padrão para o stdout (com 2>&1
), nenhuma saída será gravada no disco até:
- seu script é concluído
ou
- a saída excede o tamanho do buffer padrão (de 4k?).
Você pode ajustar o armazenamento em buffer com stdbuff
e tornar os modos de erro e saída sem buffer:
stdbuf -o0 -e0 python DE.py >> DElog.log 2>&1