daemon systemd e python recebendo a hora errada

0

Eu fiz um daemon que é iniciado pelo systemd, e dentro do meu daemon eu tenho uma função python para ter tempo. O problema é que o tempo está errado, tenho 8 horas de diferença.

Este é o meu script de serviço:

[Unit]
Description=auto-sync daemon

[Service]
ExecStart=/bin/bash -c "/usr/bin/auto-sync -s"

[Install]
WantedBy=basic.target

Eu tentei várias maneiras de obter a hora em Python, mas elas estão todas erradas.

from datetime import datetime
datetime.now().strftime("%d-%m-%Y %H:%M:%S")

Eu disse a mim mesmo que o problema poderia ser o fato de algum usuário estranho do sistema estar rodando o script, então eu adicionei: User=root mas eu ainda tenho o mesmo problema! Alguma idéia?

Na verdade, não quis adicionar +8 horas porque não tenho certeza se todos os usuários do meu programa têm o mesmo problema

    
por Rafael Senties Martinelli 02.06.2015 / 23:16

1 resposta

3

O seu fuso horário está 8 horas fora do GMT? Parece que sua chamada python para datetime.now () não está usando seu fuso horário atual e, em vez disso, está retornando o horário no fuso horário GMT.

Internamente, desta vez é apenas um número inteiro longo contendo o número de segundos desde 1 de janeiro de 1970 GMT. Seu python está sendo executado no fuso horário errado é o problema. Você pode usar a biblioteca pytz para corrigir isso, consulte estas respostas .

    
por 02.06.2015 / 23:25